866 Commits

Author SHA1 Message Date
renovate[bot]
95543b1f9d chore(deps): update dependency oxlint-tsgolint to ^0.5.0 (#875)
[skip ci]

This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [oxlint-tsgolint](https://redirect.github.com/oxc-project/tsgolint) |
[`^0.3.0` ->
`^0.5.0`](https://renovatebot.com/diffs/npm/oxlint-tsgolint/0.3.0/0.5.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint-tsgolint/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint-tsgolint/0.3.0/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>oxc-project/tsgolint (oxlint-tsgolint)</summary>

###
[`v0.5.0`](https://redirect.github.com/oxc-project/tsgolint/releases/tag/v0.5.0)

[Compare
Source](https://redirect.github.com/oxc-project/tsgolint/compare/v0.4.0...v0.5.0)

#### What's Changed

- chore(deps): update typescript-go digest to
[`b278afd`](https://redirect.github.com/oxc-project/tsgolint/commit/b278afd)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;344](https://redirect.github.com/oxc-project/tsgolint/pull/344)
- perf: `no-unnecessary-boolean-literal-compare`: only build fixes when
needed by [@&#8203;camchenry](https://redirect.github.com/camchenry) in
[#&#8203;332](https://redirect.github.com/oxc-project/tsgolint/pull/332)
- perf: `no-unnecessary-type-arguments`: only compute remove range when
creating fixes by
[@&#8203;camchenry](https://redirect.github.com/camchenry) in
[#&#8203;333](https://redirect.github.com/oxc-project/tsgolint/pull/333)
- chore(deps): update typescript-go digest to
[`24b38de`](https://redirect.github.com/oxc-project/tsgolint/commit/24b38de)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;345](https://redirect.github.com/oxc-project/tsgolint/pull/345)
- chore(deps): update typescript-go digest to
[`d891e4f`](https://redirect.github.com/oxc-project/tsgolint/commit/d891e4f)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;348](https://redirect.github.com/oxc-project/tsgolint/pull/348)
- chore(deps): update typescript-go digest to
[`8ac3092`](https://redirect.github.com/oxc-project/tsgolint/commit/8ac3092)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;350](https://redirect.github.com/oxc-project/tsgolint/pull/350)
- chore(deps): update typescript-go digest to
[`4705d38`](https://redirect.github.com/oxc-project/tsgolint/commit/4705d38)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;352](https://redirect.github.com/oxc-project/tsgolint/pull/352)
- chore(deps): update crate-ci/typos action to v1.39.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;354](https://redirect.github.com/oxc-project/tsgolint/pull/354)
- chore(deps): update typescript-go digest to
[`71a622f`](https://redirect.github.com/oxc-project/tsgolint/commit/71a622f)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;353](https://redirect.github.com/oxc-project/tsgolint/pull/353)
- chore(deps): update typescript-go digest to
[`240b101`](https://redirect.github.com/oxc-project/tsgolint/commit/240b101)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;355](https://redirect.github.com/oxc-project/tsgolint/pull/355)
- chore(deps): update typescript-go digest to
[`6fb55b7`](https://redirect.github.com/oxc-project/tsgolint/commit/6fb55b7)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;357](https://redirect.github.com/oxc-project/tsgolint/pull/357)
- chore(deps): update dependency dprint-typescript to v0.95.12 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;359](https://redirect.github.com/oxc-project/tsgolint/pull/359)
- chore(deps): update taiki-e/install-action action to v2.62.45 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;360](https://redirect.github.com/oxc-project/tsgolint/pull/360)
- chore(deps): update github.com/go-json-experiment/json digest to
[`4849db3`](https://redirect.github.com/oxc-project/tsgolint/commit/4849db3)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;358](https://redirect.github.com/oxc-project/tsgolint/pull/358)
- chore(deps): lock file maintenance npm packages by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;362](https://redirect.github.com/oxc-project/tsgolint/pull/362)
- chore(deps): update typescript-go digest to
[`82039b6`](https://redirect.github.com/oxc-project/tsgolint/commit/82039b6)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;361](https://redirect.github.com/oxc-project/tsgolint/pull/361)
- chore(dpes): update golang to ^1.25.0 by
[@&#8203;sunrabbit123](https://redirect.github.com/sunrabbit123) in
[#&#8203;363](https://redirect.github.com/oxc-project/tsgolint/pull/363)
- docs: mark `strict-boolean-expressions` as implemented by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;364](https://redirect.github.com/oxc-project/tsgolint/pull/364)
- feat: improve invalid config diagnostics by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;365](https://redirect.github.com/oxc-project/tsgolint/pull/365)
- feat: link to github issue for deprecated tsconfig options by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;366](https://redirect.github.com/oxc-project/tsgolint/pull/366)
- perf: `no-unnecessary-type-assertion`: only do scanning when fixes are
generated by [@&#8203;camchenry](https://redirect.github.com/camchenry)
in
[#&#8203;334](https://redirect.github.com/oxc-project/tsgolint/pull/334)
- chore(deps): update typescript-go digest to
[`13d3e19`](https://redirect.github.com/oxc-project/tsgolint/commit/13d3e19)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;367](https://redirect.github.com/oxc-project/tsgolint/pull/367)
- fix(justfile): fix `just shim` command by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;369](https://redirect.github.com/oxc-project/tsgolint/pull/369)
- feat: implement `typescript/no-deprecated` by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;368](https://redirect.github.com/oxc-project/tsgolint/pull/368)

#### New Contributors

- [@&#8203;sunrabbit123](https://redirect.github.com/sunrabbit123) made
their first contribution in
[#&#8203;363](https://redirect.github.com/oxc-project/tsgolint/pull/363)

**Full Changelog**:
<https://github.com/oxc-project/tsgolint/compare/v0.4.0...v0.5.0>

###
[`v0.4.0`](https://redirect.github.com/oxc-project/tsgolint/releases/tag/v0.4.0)

[Compare
Source](https://redirect.github.com/oxc-project/tsgolint/compare/v0.3.0...v0.4.0)

#### What's Changed

- chore(deps): update typescript-go digest to
[`def283d`](https://redirect.github.com/oxc-project/tsgolint/commit/def283d)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;315](https://redirect.github.com/oxc-project/tsgolint/pull/315)
- chore(deps): update typescript-go digest to
[`d461fad`](https://redirect.github.com/oxc-project/tsgolint/commit/d461fad)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;323](https://redirect.github.com/oxc-project/tsgolint/pull/323)
- chore(deps): update taiki-e/install-action action to v2.62.38 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;327](https://redirect.github.com/oxc-project/tsgolint/pull/327)
- chore(deps): update github.com/go-json-experiment/json digest to
[`8a0206d`](https://redirect.github.com/oxc-project/tsgolint/commit/8a0206d)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;325](https://redirect.github.com/oxc-project/tsgolint/pull/325)
- chore(deps): update github-actions (major) by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;328](https://redirect.github.com/oxc-project/tsgolint/pull/328)
- chore(deps): lock file maintenance npm packages by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;329](https://redirect.github.com/oxc-project/tsgolint/pull/329)
- chore(deps): update typescript-go digest to
[`b7840c2`](https://redirect.github.com/oxc-project/tsgolint/commit/b7840c2)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;326](https://redirect.github.com/oxc-project/tsgolint/pull/326)
- chore(deps): update typescript-go digest to
[`33eeaf3`](https://redirect.github.com/oxc-project/tsgolint/commit/33eeaf3)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;330](https://redirect.github.com/oxc-project/tsgolint/pull/330)
- chore(deps): update typescript-go digest to
[`f0ca632`](https://redirect.github.com/oxc-project/tsgolint/commit/f0ca632)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;331](https://redirect.github.com/oxc-project/tsgolint/pull/331)
- chore(deps): update typescript-go digest to
[`a4fa408`](https://redirect.github.com/oxc-project/tsgolint/commit/a4fa408)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;337](https://redirect.github.com/oxc-project/tsgolint/pull/337)
- chore(deps): update typescript-go digest to
[`ca68e0b`](https://redirect.github.com/oxc-project/tsgolint/commit/ca68e0b)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;339](https://redirect.github.com/oxc-project/tsgolint/pull/339)
- chore(deps): update typescript-go digest to
[`4037f3a`](https://redirect.github.com/oxc-project/tsgolint/commit/4037f3a)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;340](https://redirect.github.com/oxc-project/tsgolint/pull/340)
- refactor: allow suggestions/fixes to be generated lazily by
[@&#8203;camchenry](https://redirect.github.com/camchenry) in
[#&#8203;313](https://redirect.github.com/oxc-project/tsgolint/pull/313)
- chore(deps): update typescript-go digest to
[`6642b0a`](https://redirect.github.com/oxc-project/tsgolint/commit/6642b0a)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;342](https://redirect.github.com/oxc-project/tsgolint/pull/342)
- feat(overlayfs): implement overlay filesystem with source overrides
support by [@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;291](https://redirect.github.com/oxc-project/tsgolint/pull/291)
- feat!: make fixes/suggestions opt-in by
[@&#8203;camchenry](https://redirect.github.com/camchenry) in
[#&#8203;317](https://redirect.github.com/oxc-project/tsgolint/pull/317)
- perf: `no-array-delete`: only get token ranges when fixing by
[@&#8203;camchenry](https://redirect.github.com/camchenry) in
[#&#8203;320](https://redirect.github.com/oxc-project/tsgolint/pull/320)
- perf: `no-confusing-void-expression`: only generate fixes and
suggestions when fixing by
[@&#8203;camchenry](https://redirect.github.com/camchenry) in
[#&#8203;321](https://redirect.github.com/oxc-project/tsgolint/pull/321)
- perf: `no-duplicate-type-constituents`: only build fixes when needed
by [@&#8203;camchenry](https://redirect.github.com/camchenry) in
[#&#8203;324](https://redirect.github.com/oxc-project/tsgolint/pull/324)
- feat: expose program diagnostics by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;343](https://redirect.github.com/oxc-project/tsgolint/pull/343)

**Full Changelog**:
<https://github.com/oxc-project/tsgolint/compare/v0.3.0...v0.4.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS40IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 21:17:43 +08:00
时瑾
d7de1cded8 feat: add ffmpeg-builds binary mirror (#879)
[skip ci]

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* FFmpeg builds are now available as a supported binary source, offering
static builds for Windows and Linux platforms (x86_64). Both master
branch and latest release versions are accessible.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-06 21:12:56 +08:00
renovate[bot]
0f11e7730a fix(deps): update dependency ssri to v13 (#870)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [ssri](https://redirect.github.com/npm/ssri) | [`^8.0.1` ->
`^13.0.0`](https://renovatebot.com/diffs/npm/ssri/8.0.1/13.0.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/ssri/13.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ssri/8.0.1/13.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>npm/ssri (ssri)</summary>

###
[`v13.0.0`](https://redirect.github.com/npm/ssri/blob/HEAD/CHANGELOG.md#1300-2025-10-22)

[Compare
Source](https://redirect.github.com/npm/ssri/compare/v12.0.0...v13.0.0)

##### ⚠️ BREAKING CHANGES

- `ssri` now supports node `^20.17.0 || >=22.9.0`

##### Bug Fixes

-
[`46a2520`](46a2520214)
[#&#8203;155](https://redirect.github.com/npm/ssri/pull/155) align to
npm 11 node engine range
([#&#8203;155](https://redirect.github.com/npm/ssri/issues/155))
([@&#8203;owlstronaut](https://redirect.github.com/owlstronaut))
-
[`8f0bbf2`](8f0bbf2717)
[#&#8203;151](https://redirect.github.com/npm/ssri/pull/151) improve
`SRI_REGEX`
([#&#8203;151](https://redirect.github.com/npm/ssri/issues/151))
([@&#8203;ericcornelissen](https://redirect.github.com/ericcornelissen))

##### Chores

-
[`79e0018`](79e0018941)
[#&#8203;146](https://redirect.github.com/npm/ssri/pull/146) postinstall
workflow updates
([#&#8203;146](https://redirect.github.com/npm/ssri/issues/146))
([@&#8203;owlstronaut](https://redirect.github.com/owlstronaut))
-
[`89b775a`](89b775a9cf)
[#&#8203;154](https://redirect.github.com/npm/ssri/pull/154) bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
from 4.26.0 to 4.27.1
([#&#8203;154](https://redirect.github.com/npm/ssri/issues/154))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot],
[@&#8203;npm-cli-bot](https://redirect.github.com/npm-cli-bot))

###
[`v12.0.0`](https://redirect.github.com/npm/ssri/blob/HEAD/CHANGELOG.md#1200-2024-09-24)

[Compare
Source](https://redirect.github.com/npm/ssri/compare/v11.0.0...v12.0.0)

##### ⚠️ BREAKING CHANGES

- `ssri` now supports node `^18.17.0 || >=20.5.0`

##### Bug Fixes

-
[`b7a3f9a`](b7a3f9ad35)
[#&#8203;141](https://redirect.github.com/npm/ssri/pull/141) align to
npm 10 node engine range
([@&#8203;hashtagchris](https://redirect.github.com/hashtagchris))

##### Chores

-
[`f8121e9`](f8121e9e5e)
[#&#8203;141](https://redirect.github.com/npm/ssri/pull/141) run
template-oss-apply
([@&#8203;hashtagchris](https://redirect.github.com/hashtagchris))

###
[`v11.0.0`](https://redirect.github.com/npm/ssri/blob/HEAD/CHANGELOG.md#1100-2024-09-03)

[Compare
Source](https://redirect.github.com/npm/ssri/compare/v10.0.6...v11.0.0)

##### ⚠️ BREAKING CHANGES

- `ssri` is now compatible with the following semver range for node:
`^16.14.0 || >=18.0.0`

##### Bug Fixes

-
[`29a6e2c`](29a6e2c2e0)
Address breaking engine change in dependency
([@&#8203;hashtagchris](https://redirect.github.com/hashtagchris))

##### Chores

-
[`db4219f`](db4219f28a)
bump
[@&#8203;npmcli/eslint-config](https://redirect.github.com/npmcli/eslint-config)
from 4.0.5 to 5.0.0
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`f2dd012`](f2dd0125e4)
template-oss-apply
([@&#8203;hashtagchris](https://redirect.github.com/hashtagchris))
-
[`f2a2a9d`](f2a2a9d09f)
postinstall for dependabot template-oss PR
([@&#8203;hashtagchris](https://redirect.github.com/hashtagchris))
-
[`4508f71`](4508f71d8a)
bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
from 4.22.0 to 4.23.3
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])

###
[`v10.0.6`](https://redirect.github.com/npm/ssri/blob/HEAD/CHANGELOG.md#1006-2024-05-04)

[Compare
Source](https://redirect.github.com/npm/ssri/compare/v10.0.5...v10.0.6)

##### Bug Fixes

-
[`f3773e2`](f3773e21f9)
[#&#8203;127](https://redirect.github.com/npm/ssri/pull/127) linting:
no-unused-vars
([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))

##### Chores

-
[`55e7dfb`](55e7dfbe3f)
[#&#8203;127](https://redirect.github.com/npm/ssri/pull/127) bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
to 4.22.0 ([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))
-
[`96d1795`](96d1795b93)
[#&#8203;127](https://redirect.github.com/npm/ssri/pull/127) postinstall
for dependabot template-oss PR
([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))
-
[`10d5e8a`](10d5e8ae49)
[#&#8203;125](https://redirect.github.com/npm/ssri/pull/125) bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
from 4.21.3 to 4.21.4
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])

###
[`v10.0.5`](https://redirect.github.com/npm/ssri/blob/HEAD/CHANGELOG.md#1005-2023-08-14)

[Compare
Source](https://redirect.github.com/npm/ssri/compare/v10.0.4...v10.0.5)

##### Dependencies

-
[`00dacfd`](00dacfd5e9)
[#&#8203;94](https://redirect.github.com/npm/ssri/pull/94) bump minipass
from 5.0.0 to 7.0.3

###
[`v10.0.4`](https://redirect.github.com/npm/ssri/blob/HEAD/CHANGELOG.md#1004-2023-04-26)

[Compare
Source](https://redirect.github.com/npm/ssri/compare/v10.0.3...v10.0.4)

##### Dependencies

-
[`152e2bc`](152e2bce43)
[#&#8203;78](https://redirect.github.com/npm/ssri/pull/78) bump minipass
from 4.2.7 to 5.0.0
([#&#8203;78](https://redirect.github.com/npm/ssri/issues/78))

###
[`v10.0.3`](https://redirect.github.com/npm/ssri/blob/HEAD/CHANGELOG.md#1003-2023-04-11)

[Compare
Source](https://redirect.github.com/npm/ssri/compare/v10.0.2...v10.0.3)

##### Bug Fixes

-
[`7fef846`](7fef8463d4)
[#&#8203;79](https://redirect.github.com/npm/ssri/pull/79) optimize
adding this.algorithm to algorithms list
([@&#8203;wraithgar](https://redirect.github.com/wraithgar))
-
[`d90f674`](d90f674cd5)
[#&#8203;79](https://redirect.github.com/npm/ssri/pull/79) prevent
DEFAULT\_ALGORITHM mutation
([@&#8203;wraithgar](https://redirect.github.com/wraithgar))
-
[`4e94d15`](4e94d15dd9)
[#&#8203;79](https://redirect.github.com/npm/ssri/pull/79)
Integrity#match prioritizes overlapping hashes
([@&#8203;wraithgar](https://redirect.github.com/wraithgar))
-
[`dce3dab`](dce3dab846)
[#&#8203;79](https://redirect.github.com/npm/ssri/pull/79) faster stream
verification ([@&#8203;H4ad](https://redirect.github.com/H4ad))

###
[`v10.0.2`](https://redirect.github.com/npm/ssri/blob/HEAD/CHANGELOG.md#1002-2023-04-03)

[Compare
Source](https://redirect.github.com/npm/ssri/compare/v10.0.1...v10.0.2)

##### Bug Fixes

-
[`8e80eca`](8e80eca497)
[#&#8203;74](https://redirect.github.com/npm/ssri/pull/74) move from
symbols to private methods
([#&#8203;74](https://redirect.github.com/npm/ssri/issues/74))
([@&#8203;wraithgar](https://redirect.github.com/wraithgar))
-
[`a316b12`](a316b12e0c)
[#&#8203;75](https://redirect.github.com/npm/ssri/pull/75) faster
toString for integrity
([#&#8203;75](https://redirect.github.com/npm/ssri/issues/75))
([@&#8203;H4ad](https://redirect.github.com/H4ad))
-
[`6e6877d`](6e6877d55c)
[#&#8203;72](https://redirect.github.com/npm/ssri/pull/72) remove spread
of defaultOpts
([#&#8203;72](https://redirect.github.com/npm/ssri/issues/72))
([@&#8203;H4ad](https://redirect.github.com/H4ad))

###
[`v10.0.1`](https://redirect.github.com/npm/ssri/blob/HEAD/CHANGELOG.md#1001-2022-12-07)

[Compare
Source](https://redirect.github.com/npm/ssri/compare/v10.0.0...v10.0.1)

##### Dependencies

-
[`4f6ba1e`](4f6ba1e5cc)
[#&#8203;64](https://redirect.github.com/npm/ssri/pull/64) bump minipass
from 3.3.6 to 4.0.0

###
[`v10.0.0`](https://redirect.github.com/npm/ssri/blob/HEAD/CHANGELOG.md#1000-2022-10-10)

[Compare
Source](https://redirect.github.com/npm/ssri/compare/v9.0.1...v10.0.0)

##### ⚠️ BREAKING CHANGES

- `ssri` is now compatible with the following semver range for node:
`^14.17.0 || ^16.13.0 || >=18.0.0`

##### Features

-
[`3de0c45`](3de0c4502d)
[#&#8203;52](https://redirect.github.com/npm/ssri/pull/52) postinstall
for dependabot template-oss PR
([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))

##### Bug Fixes

-
[`2e876d1`](2e876d12a6)
[#&#8203;48](https://redirect.github.com/npm/ssri/pull/48) properly
handle missing algorithm type
([#&#8203;48](https://redirect.github.com/npm/ssri/issues/48))
([@&#8203;ahmedwelhakim](https://redirect.github.com/ahmedwelhakim))

#####
[9.0.1](https://redirect.github.com/npm/ssri/compare/v9.0.0...v9.0.1)
(2022-05-19)

##### Bug Fixes

- store emitted events and re-emit them for late listeners
([#&#8203;39](https://redirect.github.com/npm/ssri/issues/39))
([c5421f1](c5421f1fb4))

###
[`v9.0.1`](https://redirect.github.com/npm/ssri/blob/HEAD/CHANGELOG.md#1000-2022-10-10)

[Compare
Source](https://redirect.github.com/npm/ssri/compare/v9.0.0...v9.0.1)

##### ⚠️ BREAKING CHANGES

- `ssri` is now compatible with the following semver range for node:
`^14.17.0 || ^16.13.0 || >=18.0.0`

##### Features

-
[`3de0c45`](3de0c4502d)
[#&#8203;52](https://redirect.github.com/npm/ssri/pull/52) postinstall
for dependabot template-oss PR
([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))

##### Bug Fixes

-
[`2e876d1`](2e876d12a6)
[#&#8203;48](https://redirect.github.com/npm/ssri/pull/48) properly
handle missing algorithm type
([#&#8203;48](https://redirect.github.com/npm/ssri/issues/48))
([@&#8203;ahmedwelhakim](https://redirect.github.com/ahmedwelhakim))

#####
[9.0.1](https://redirect.github.com/npm/ssri/compare/v9.0.0...v9.0.1)
(2022-05-19)

##### Bug Fixes

- store emitted events and re-emit them for late listeners
([#&#8203;39](https://redirect.github.com/npm/ssri/issues/39))
([c5421f1](c5421f1fb4))

###
[`v9.0.0`](https://redirect.github.com/npm/ssri/blob/HEAD/CHANGELOG.md#1000-2022-10-10)

[Compare
Source](https://redirect.github.com/npm/ssri/compare/v8.0.1...v9.0.0)

##### ⚠️ BREAKING CHANGES

- `ssri` is now compatible with the following semver range for node:
`^14.17.0 || ^16.13.0 || >=18.0.0`

##### Features

-
[`3de0c45`](3de0c4502d)
[#&#8203;52](https://redirect.github.com/npm/ssri/pull/52) postinstall
for dependabot template-oss PR
([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))

##### Bug Fixes

-
[`2e876d1`](2e876d12a6)
[#&#8203;48](https://redirect.github.com/npm/ssri/pull/48) properly
handle missing algorithm type
([#&#8203;48](https://redirect.github.com/npm/ssri/issues/48))
([@&#8203;ahmedwelhakim](https://redirect.github.com/ahmedwelhakim))

#####
[9.0.1](https://redirect.github.com/npm/ssri/compare/v9.0.0...v9.0.1)
(2022-05-19)

##### Bug Fixes

- store emitted events and re-emit them for late listeners
([#&#8203;39](https://redirect.github.com/npm/ssri/issues/39))
([c5421f1](c5421f1fb4))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS40IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 23:36:35 +08:00
MK (fengmk2)
0d32146562 chore: add deployment test (#874)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Added an npm build script to simplify project compilation.

* **Chores**
  * Simplified CI dependency installation to use standard npm install.
* Added a new deployment test job that runs multi-service integration
checks, build, health checks, and graceful shutdown.
* Introduced an environment-variable gate to allow opting into local
filesystem behavior in production.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-29 23:35:06 +08:00
renovate[bot]
6c29f084b2 fix(deps): update dependency validate-npm-package-name to v7 [skip ci] (#873)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[validate-npm-package-name](https://redirect.github.com/npm/validate-npm-package-name)
| [`^6.0.0` ->
`^7.0.0`](https://renovatebot.com/diffs/npm/validate-npm-package-name/6.0.2/7.0.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/validate-npm-package-name/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/validate-npm-package-name/6.0.2/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>npm/validate-npm-package-name
(validate-npm-package-name)</summary>

###
[`v7.0.0`](https://redirect.github.com/npm/validate-npm-package-name/blob/HEAD/CHANGELOG.md#700-2025-10-22)

[Compare
Source](https://redirect.github.com/npm/validate-npm-package-name/compare/v6.0.2...v7.0.0)

##### ⚠️ BREAKING CHANGES

- align to npm 11 node engine range
([#&#8203;147](https://redirect.github.com/npm/validate-npm-package-name/issues/147))

##### Bug Fixes

-
[`69e0cbb`](69e0cbbd77)
[#&#8203;147](https://redirect.github.com/npm/validate-npm-package-name/pull/147)
align to npm 11 node engine range
([#&#8203;147](https://redirect.github.com/npm/validate-npm-package-name/issues/147))
([@&#8203;owlstronaut](https://redirect.github.com/owlstronaut))

##### Chores

-
[`c6866b9`](c6866b9d96)
[#&#8203;146](https://redirect.github.com/npm/validate-npm-package-name/pull/146)
bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
from 4.26.0 to 4.27.1
([#&#8203;146](https://redirect.github.com/npm/validate-npm-package-name/issues/146))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot],
[@&#8203;npm-cli-bot](https://redirect.github.com/npm-cli-bot))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS40IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 21:19:12 +08:00
renovate[bot]
01385f4954 chore(deps): update dependency type-fest to v5 [skip ci] (#871)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [type-fest](https://redirect.github.com/sindresorhus/type-fest) |
[`^2.5.3` ->
`^5.0.0`](https://renovatebot.com/diffs/npm/type-fest/2.19.0/5.1.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/type-fest/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/type-fest/2.19.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>sindresorhus/type-fest (type-fest)</summary>

###
[`v5.1.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v5.1.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v5.0.1...v5.1.0)

##### New types

-
[`TupleOf`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/tuple-of.d.ts)
([#&#8203;1247](https://redirect.github.com/sindresorhus/type-fest/issues/1247))
[`7fb2f75`](https://redirect.github.com/sindresorhus/type-fest/commit/7fb2f75)
-
[`Xor`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/xor.d.ts)
([#&#8203;1254](https://redirect.github.com/sindresorhus/type-fest/issues/1254))
[`ad04bc5`](https://redirect.github.com/sindresorhus/type-fest/commit/ad04bc5)
-
[`SplitOnRestElement`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/split-on-rest-element.d.ts)
([#&#8203;1166](https://redirect.github.com/sindresorhus/type-fest/issues/1166))
[`34b8fad`](https://redirect.github.com/sindresorhus/type-fest/commit/34b8fad)
-
[`ExtractRestElement`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/extract-rest-element.d.ts)
([#&#8203;1166](https://redirect.github.com/sindresorhus/type-fest/issues/1166))
[`34b8fad`](https://redirect.github.com/sindresorhus/type-fest/commit/34b8fad)
-
[`ExcludeRestElement`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/exclude-rest-element.d.ts)
([#&#8203;1166](https://redirect.github.com/sindresorhus/type-fest/issues/1166))
[`34b8fad`](https://redirect.github.com/sindresorhus/type-fest/commit/34b8fad)

##### Improvements

- `ReadonlyTuple`: Deprecate in favor of `TupleOf`
([#&#8203;1256](https://redirect.github.com/sindresorhus/type-fest/issues/1256))
[`af4bebc`](https://redirect.github.com/sindresorhus/type-fest/commit/af4bebc)
- `TsConfigJson`: Add missing lib enum values
([#&#8203;1263](https://redirect.github.com/sindresorhus/type-fest/issues/1263))
[`72f491f`](https://redirect.github.com/sindresorhus/type-fest/commit/72f491f)
- `TsConfigJson`: Add `rewriteRelativeImportExtensions`
([#&#8203;1262](https://redirect.github.com/sindresorhus/type-fest/issues/1262))
[`7d011ce`](https://redirect.github.com/sindresorhus/type-fest/commit/7d011ce)

##### Fixes

- `PartialDeep`: Fix behavior with functions containing multiple call
signatures
([#&#8203;1259](https://redirect.github.com/sindresorhus/type-fest/issues/1259))
[`3bd9de6`](https://redirect.github.com/sindresorhus/type-fest/commit/3bd9de6)
- `IsEqual`: Fix behaviour when instantiated with `never` and `unknown`
([#&#8203;1251](https://redirect.github.com/sindresorhus/type-fest/issues/1251))
[`785549f`](https://redirect.github.com/sindresorhus/type-fest/commit/785549f)
- `FixedLengthArray`: Fix element type
([#&#8203;1246](https://redirect.github.com/sindresorhus/type-fest/issues/1246))
[`ee29ef7`](https://redirect.github.com/sindresorhus/type-fest/commit/ee29ef7)
- `is-equal`: Fix handling with intersecting wrapped types
([#&#8203;1231](https://redirect.github.com/sindresorhus/type-fest/issues/1231))
[`5af60a1`](https://redirect.github.com/sindresorhus/type-fest/commit/5af60a1)

***

###
[`v5.0.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v5.0.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v5.0.0...v5.0.1)

- Add missing exports
[`4f9c248`](https://redirect.github.com/sindresorhus/type-fest/commit/4f9c248)

***

###
[`v5.0.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v5.0.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.41.0...v5.0.0)

##### Breaking

- This package is now pure ESM. **Please [read
this](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c).**
- Require TypeScript 5.9
[`b5b0214`](https://redirect.github.com/sindresorhus/type-fest/commit/b5b0214)
- Require Node.js 20
[`cc2b0f2`](https://redirect.github.com/sindresorhus/type-fest/commit/cc2b0f2)
- Reminder: `type-fest` requires `strict: true` in your tsconfig.
- `StringKeyOf`: Rename to
[`KeyAsString`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/key-as-string.d.ts)
[`e492c9c`](https://redirect.github.com/sindresorhus/type-fest/commit/e492c9c)
-
[`ArrayTail`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/array-tail.d.ts):
Enable
[`preserveReadonly`](68469722a9/source/array-tail.d.ts (L8-L30))
by default and remove the option
[`b34b1d8`](https://redirect.github.com/sindresorhus/type-fest/commit/b34b1d8)
-
[`CamelCase`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/camel-case.d.ts)
/
[`CamelCasedProperties`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/camel-cased-properties.d.ts)
/
[`CamelCasedPropertiesDeep`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/camel-cased-properties-deep.d.ts)
/
[`PascalCase`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/pascal-case.d.ts)
/
[`PascalCasedProperties`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/pascal-cased-properties.d.ts)
/
[`PascalCasedPropertiesDeep`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/pascal-cased-properties-deep.d.ts):
Disable `preserveConsecutiveUppercase` by default
[`8226c1b`](https://redirect.github.com/sindresorhus/type-fest/commit/8226c1b)
  - This aligns it with the general JavaScript naming convention.
-
[`PartialDeep`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/partial-deep.d.ts):
Disable `allowUndefinedInNonTupleArrays` by default
[`b3c4524`](https://redirect.github.com/sindresorhus/type-fest/commit/b3c4524)
-
[`Split`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/split.d.ts):
Enable `strictLiteralChecks` by default
[`544a846`](https://redirect.github.com/sindresorhus/type-fest/commit/544a846)
-
[`Paths`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/paths.d.ts):
Default `maxRecursionDepth` 5 (was 10)
[`2ab5dec`](https://redirect.github.com/sindresorhus/type-fest/commit/2ab5dec)
-
[`ObservableLike`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/globals/observable-like.d.ts):
Move to sub-export
[`2a1072e`](https://redirect.github.com/sindresorhus/type-fest/commit/2a1072e)
- Deprecate `If*` types in favor of a single
[`If`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/if.d.ts)
[`4c2151a`](https://redirect.github.com/sindresorhus/type-fest/commit/4c2151a)

##### New types

-
[`Alphanumeric`](fc14f87e7f/source/characters.d.ts)
— Single alphanumeric character (`A–Z`, `a–z`, `0–9`).
[`484e030`](https://redirect.github.com/sindresorhus/type-fest/commit/484e030)
-
[`AllExtend`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/all-extend.d.ts)
— Evaluates to `true` if every element of a tuple/array extends `U`.
[`c8c6d55`](https://redirect.github.com/sindresorhus/type-fest/commit/c8c6d55)
-
[`ConditionalSimplify`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/conditional-simplify.d.ts)
— Simplifies a type’s unions/intersections with opt-in controls.
[`b7a4771`](https://redirect.github.com/sindresorhus/type-fest/commit/b7a4771)
-
[`ConditionalSimplifyDeep`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/conditional-simplify-deep.d.ts)
— Deep version of `ConditionalSimplify` that recurses into objects.
[`b7a4771`](https://redirect.github.com/sindresorhus/type-fest/commit/b7a4771)
-
[`DigitCharacter`](fc14f87e7f/source/characters.d.ts)
— Single ASCII digit character (`0–9`).
[`484e030`](https://redirect.github.com/sindresorhus/type-fest/commit/484e030)
-
[`ExcludeStrict`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/exclude-strict.d.ts)
— Non-distributive, stricter variant of `Exclude<T, U>`.
[`e6f62a2`](https://redirect.github.com/sindresorhus/type-fest/commit/e6f62a2)
-
[`ExtendsStrict`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/extends-strict.d.ts)
— Non-distributive `A extends B` check.
[`d71242a`](https://redirect.github.com/sindresorhus/type-fest/commit/d71242a)
-
[`ExtractStrict`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/extract-strict.d.ts)
— Non-distributive, stricter variant of `Extract<T, U>`.
[`98d24fa`](https://redirect.github.com/sindresorhus/type-fest/commit/98d24fa)
-
[`IsLowercase`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-lowercase.d.ts)
— Evaluates to `true` if a string literal is all lowercase.
[`afe132c`](https://redirect.github.com/sindresorhus/type-fest/commit/afe132c)
-
[`IsNullable`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-nullable.d.ts)
— Evaluates to `true` if `T` includes `null`.
[`5067e25`](https://redirect.github.com/sindresorhus/type-fest/commit/5067e25)
-
[`IsOptional`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-optional.d.ts)
— Evaluates to `true` if `T` includes `undefined`.
[`5067e25`](https://redirect.github.com/sindresorhus/type-fest/commit/5067e25)
-
[`IsOptionalKeyOf`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-optional-key-of.d.ts)
— Evaluates to `true` if property `K` of `T` is optional.
[`93728b5`](https://redirect.github.com/sindresorhus/type-fest/commit/93728b5)
-
[`IsReadonlyKeyOf`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-readonly-key-of.d.ts)
— Evaluates to `true` if property `K` of `T` is readonly.
[`93728b5`](https://redirect.github.com/sindresorhus/type-fest/commit/93728b5)
-
[`IsRequiredKeyOf`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-required-key-of.d.ts)
— Evaluates to `true` if property `K` of `T` is required.
[`93728b5`](https://redirect.github.com/sindresorhus/type-fest/commit/93728b5)
-
[`IsUnion`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-union.d.ts)
— Evaluates to `true` if `T` is a union type.
[`b3d92ed`](https://redirect.github.com/sindresorhus/type-fest/commit/b3d92ed)
-
[`IsUndefined`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-undefined.d.ts)
— Evaluates to `true` if the type is exactly `undefined`.
[`f7bc576`](https://redirect.github.com/sindresorhus/type-fest/commit/f7bc576)
-
[`IsUppercase`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-uppercase.d.ts)
— Evaluates to `true` if a string literal is all uppercase.
[`afe132c`](https://redirect.github.com/sindresorhus/type-fest/commit/afe132c)
-
[`LowercaseLetter`](fc14f87e7f/source/characters.d.ts)
— Single lowercase Latin letter (`a–z`).
[`484e030`](https://redirect.github.com/sindresorhus/type-fest/commit/484e030)
-
[`RemovePrefix`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/remove-prefix.d.ts)
— Removes a specified prefix from a string literal.
[`18a1c04`](https://redirect.github.com/sindresorhus/type-fest/commit/18a1c04)
-
[`UppercaseLetter`](fc14f87e7f/source/characters.d.ts)
— Single uppercase Latin letter (`A–Z`).
[`484e030`](https://redirect.github.com/sindresorhus/type-fest/commit/484e030)

##### Improvements

-
[`Jsonify`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/jsonify.d.ts):
Handle `unknown` as `JsonValue`
[`642bb13`](https://redirect.github.com/sindresorhus/type-fest/commit/642bb13)
-
[`SetRequired`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/set-required.d.ts)
/
[`SetOptional`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/set-optional.d.ts)
/
[`SetReadonly`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/set-readonly.d.ts):
Handle functions with properties
[`a5e45d4`](https://redirect.github.com/sindresorhus/type-fest/commit/a5e45d4)
-
[`Schema`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/schema.d.ts):
Preserve arrays/remove extraneous unions
[`8a96def`](https://redirect.github.com/sindresorhus/type-fest/commit/8a96def);
drop `undefined` for `recurseIntoArrays`
[`1cb955b`](https://redirect.github.com/sindresorhus/type-fest/commit/1cb955b)
-
[`ReadonlyKeysOf`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/readonly-keys-of.d.ts)
/
[`WritableKeysOf`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/writable-keys-of.d.ts):
Add `object` constraint
[`a6efbe0`](https://redirect.github.com/sindresorhus/type-fest/commit/a6efbe0)
-
[`TsConfigJson`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/tsconfig-json.d.ts):
Add TypeScript 5.9 fields
[`d2bda94`](https://redirect.github.com/sindresorhus/type-fest/commit/d2bda94)

##### Fixes

-
[`Or`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/or.d.ts):
Fix with `boolean`, `never`, `any`
[`42d6106`](https://redirect.github.com/sindresorhus/type-fest/commit/42d6106)
-
[`And`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/and.d.ts):
Fix with `boolean`, `never`, `any`
[`b38ac60`](https://redirect.github.com/sindresorhus/type-fest/commit/b38ac60)
-
[`IsStringLiteral`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-literal.d.ts):
Fix uncollapsed unions, and tagged types
[`eb37799`](https://redirect.github.com/sindresorhus/type-fest/commit/eb37799)
/
[`d1b35c7`](https://redirect.github.com/sindresorhus/type-fest/commit/d1b35c7)
-
[`Paths`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/paths.d.ts):
Fix behavior with index signatures
[`9926e5d`](https://redirect.github.com/sindresorhus/type-fest/commit/9926e5d)
-
[`ConditionalKeys`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/conditional-keys.d.ts):
Fix behavior with arrays and unions
[`4d7cc50`](https://redirect.github.com/sindresorhus/type-fest/commit/4d7cc50)
-
[`RequiredDeep`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/required-deep.d.ts):
Fix with `undefined`
[`bfcdbc4`](https://redirect.github.com/sindresorhus/type-fest/commit/bfcdbc4)
-
[`Split`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/split.d.ts):
Fix template strings ending with interpolation
[`853b881`](https://redirect.github.com/sindresorhus/type-fest/commit/853b881)
-
[`ArrayTail`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/array-tail.d.ts):
Fix fix non-tuple arrays
[`f3aabd8`](https://redirect.github.com/sindresorhus/type-fest/commit/f3aabd8)
- Fix `UnionMin` and `UnionMax`
[`d52d5e7`](https://redirect.github.com/sindresorhus/type-fest/commit/d52d5e7)

##### Meta

Huge thanks to all the contributors to this release, especially
[@&#8203;som-sm](https://redirect.github.com/som-sm) 🙌

***

###
[`v4.41.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.41.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.40.1...v4.41.0)

- Add
[`SetNonNullableDeep`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/set-non-nullable-deep.d.ts)
type
([#&#8203;1117](https://redirect.github.com/sindresorhus/type-fest/issues/1117))
[`b9606e7`](https://redirect.github.com/sindresorhus/type-fest/commit/b9606e7)
- `LessThan` / `GreaterThan` / `GreaterThanOrEqual`: Fix behaviour with
unions
([#&#8203;1116](https://redirect.github.com/sindresorhus/type-fest/issues/1116))
[`afd809a`](https://redirect.github.com/sindresorhus/type-fest/commit/afd809a)
- `RequireAllOrNone` / `RequireAtLeastOne` / `RequireExactlyOne` /
`RequireOneOrNone`: Fix behaviour with `any` and `never`
([#&#8203;1113](https://redirect.github.com/sindresorhus/type-fest/issues/1113))
[`8c154e9`](https://redirect.github.com/sindresorhus/type-fest/commit/8c154e9)

***

###
[`v4.40.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.40.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.40.0...v4.40.1)

- `PartialDeep`: Fix behaviour with functions containing properties
([#&#8203;1108](https://redirect.github.com/sindresorhus/type-fest/issues/1108))
[`86a3a69`](https://redirect.github.com/sindresorhus/type-fest/commit/86a3a69)
- `CamelCasedPropertiesDeep` / `DelimiterCasedPropertiesDeep` /
`KebabCasedPropertiesDeep` / `PascalCasedPropertiesDeep` /
`SnakeCasedPropertiesDeep`: Fix behaviour when property value is
`unknown`
([#&#8203;1112](https://redirect.github.com/sindresorhus/type-fest/issues/1112))
[`cfcf9ec`](https://redirect.github.com/sindresorhus/type-fest/commit/cfcf9ec)

***

###
[`v4.40.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.40.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.39.1...v4.40.0)

- Add
[`NonEmptyString`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/non-empty-string.d.ts)
type
([#&#8203;1103](https://redirect.github.com/sindresorhus/type-fest/issues/1103))
[`19a9c37`](https://redirect.github.com/sindresorhus/type-fest/commit/19a9c37)
- Add
[`UnknownMap`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/unknown-map.d.ts)
type
([#&#8203;1106](https://redirect.github.com/sindresorhus/type-fest/issues/1106))
[`b4ace2d`](https://redirect.github.com/sindresorhus/type-fest/commit/b4ace2d)
- Add
[`UnknownSet`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/unknown-set.d.ts)
type
([#&#8203;1106](https://redirect.github.com/sindresorhus/type-fest/issues/1106))
[`b4ace2d`](https://redirect.github.com/sindresorhus/type-fest/commit/b4ace2d)
- `IsFloat` / `IsInteger`: Fix instantiations with numbers represented
using exponential notation
([#&#8203;1101](https://redirect.github.com/sindresorhus/type-fest/issues/1101))
[`21a92f6`](https://redirect.github.com/sindresorhus/type-fest/commit/21a92f6)

***

###
[`v4.39.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.39.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.39.0...v4.39.1)

- `OptionalKeysOf` / `WritableKeysOf`: Fix generic assignability with
`keyof T`
([#&#8203;1098](https://redirect.github.com/sindresorhus/type-fest/issues/1098))
[`1b41ed3`](https://redirect.github.com/sindresorhus/type-fest/commit/1b41ed3)

***

###
[`v4.39.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.39.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.38.0...v4.39.0)

- `ArrayTail`: Add
[`preserveReadonly`](07cb87075f/source/array-tail.d.ts (L8-L30))
option
([#&#8203;1091](https://redirect.github.com/sindresorhus/type-fest/issues/1091))
[`544271e`](https://redirect.github.com/sindresorhus/type-fest/commit/544271e)
- `PartialDeep `: Fix behaviour when `strictNullChecks` is disabled
([#&#8203;1096](https://redirect.github.com/sindresorhus/type-fest/issues/1096))
[`7536bae`](https://redirect.github.com/sindresorhus/type-fest/commit/7536bae)
- `OptionalKeysOf` / `RequiredKeysOf`: Fix instantiations with unions
and arrays
([#&#8203;1089](https://redirect.github.com/sindresorhus/type-fest/issues/1089))
[`e1ac7b2`](https://redirect.github.com/sindresorhus/type-fest/commit/e1ac7b2)
- `WritableKeysOf` / `ReadonlyKeysOf`: Fix behavior with unions and
optional properties
([#&#8203;1088](https://redirect.github.com/sindresorhus/type-fest/issues/1088))
[`bbf9137`](https://redirect.github.com/sindresorhus/type-fest/commit/bbf9137)

***

###
[`v4.38.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.38.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.37.0...v4.38.0)

- `AsyncReturnType`: Add support for `PromiseLike`
([#&#8203;1082](https://redirect.github.com/sindresorhus/type-fest/issues/1082))
[`72ccde9`](https://redirect.github.com/sindresorhus/type-fest/commit/72ccde9)
- `DelimiterCase` / `SnakeCase` / `ScreamingSnakeCase` / `KebabCase`:
Fix instantiations containing punctuations
([#&#8203;1080](https://redirect.github.com/sindresorhus/type-fest/issues/1080))
[`063e28d`](https://redirect.github.com/sindresorhus/type-fest/commit/063e28d)
- `DelimiterCase`: Pass `Options` generic to all related types
([#&#8203;1078](https://redirect.github.com/sindresorhus/type-fest/issues/1078))
[`1974944`](https://redirect.github.com/sindresorhus/type-fest/commit/1974944)
- `CamelCasedPropertiesDeep`: Make nested array objects respect the
options
([#&#8203;1077](https://redirect.github.com/sindresorhus/type-fest/issues/1077))
[`c11c9ca`](https://redirect.github.com/sindresorhus/type-fest/commit/c11c9ca)

***

###
[`v4.37.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.37.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.36.0...v4.37.0)

- `Sum`: Add negative return value support
([#&#8203;1068](https://redirect.github.com/sindresorhus/type-fest/issues/1068))
[`af5bfb7`](https://redirect.github.com/sindresorhus/type-fest/commit/af5bfb7)
- `Subtract`: Add negative return value support
([#&#8203;1061](https://redirect.github.com/sindresorhus/type-fest/issues/1061))
[`2b85ae2`](https://redirect.github.com/sindresorhus/type-fest/commit/2b85ae2)
- `Split`: Add
[`strictLiteralChecks`](ed8c987129/source/split.d.ts (L12-L34))
option
([#&#8203;1067](https://redirect.github.com/sindresorhus/type-fest/issues/1067))
[`cc93f85`](https://redirect.github.com/sindresorhus/type-fest/commit/cc93f85)
- `Split`: Fix instantiations with unions
([#&#8203;1067](https://redirect.github.com/sindresorhus/type-fest/issues/1067))
[`cc93f85`](https://redirect.github.com/sindresorhus/type-fest/commit/cc93f85)
- `Replace`: Fix instantiations with unions
([#&#8203;1065](https://redirect.github.com/sindresorhus/type-fest/issues/1065))
[`a733698`](https://redirect.github.com/sindresorhus/type-fest/commit/a733698)
- `DelimiterCase` / `SnakeCase` / `ScreamingSnakeCase` / `KebabCase`:
Fix default value for `splitOnNumbers` option
([#&#8203;1073](https://redirect.github.com/sindresorhus/type-fest/issues/1073))
[`e462e72`](https://redirect.github.com/sindresorhus/type-fest/commit/e462e72)

***

###
[`v4.36.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.36.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.35.0...v4.36.0)

- `TsConfigJson`: Add TypeScript 5.8 fields
([#&#8203;1064](https://redirect.github.com/sindresorhus/type-fest/issues/1064))
[`918156a`](https://redirect.github.com/sindresorhus/type-fest/commit/918156a)
- `Replace`: Add support for generating longer strings
([#&#8203;1060](https://redirect.github.com/sindresorhus/type-fest/issues/1060))
[`3c03a0d`](https://redirect.github.com/sindresorhus/type-fest/commit/3c03a0d)
- `DelimiterCase`: Internal improvements
([#&#8203;930](https://redirect.github.com/sindresorhus/type-fest/issues/930))
[`a463c30`](https://redirect.github.com/sindresorhus/type-fest/commit/a463c30)

***

###
[`v4.35.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.35.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.34.1...v4.35.0)

- Add
[`TupleToObject`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/tuple-to-object.d.ts)
type
([#&#8203;1055](https://redirect.github.com/sindresorhus/type-fest/issues/1055))
[`c8149ec`](https://redirect.github.com/sindresorhus/type-fest/commit/c8149ec)
- `Paths`: Add
[`depth`](db3403a4b3/source/paths.d.ts (L95-L128))
option
([#&#8203;1058](https://redirect.github.com/sindresorhus/type-fest/issues/1058))
[`2633e5b`](https://redirect.github.com/sindresorhus/type-fest/commit/2633e5b)

***

###
[`v4.34.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.34.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.34.0...v4.34.1)

- `OmitDeep`: Fix import statement
([#&#8203;1052](https://redirect.github.com/sindresorhus/type-fest/issues/1052))
[`e5b66a4`](https://redirect.github.com/sindresorhus/type-fest/commit/e5b66a4)

***

###
[`v4.34.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.34.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.33.0...v4.34.0)

- Add
[`AllUnionFields`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/all-union-fields.d.ts)
type
([#&#8203;997](https://redirect.github.com/sindresorhus/type-fest/issues/997))
[`9aba4c3`](https://redirect.github.com/sindresorhus/type-fest/commit/9aba4c3)
- `Paths`: Add
[`leavesOnly`](00c2210831/source/paths.d.ts (L54-L93))
option
([#&#8203;1050](https://redirect.github.com/sindresorhus/type-fest/issues/1050))
[`7dfb307`](https://redirect.github.com/sindresorhus/type-fest/commit/7dfb307)
- `OmitDeep`: Fix removal of multiple paths within arrays
([#&#8203;1049](https://redirect.github.com/sindresorhus/type-fest/issues/1049))
[`fa6e31b`](https://redirect.github.com/sindresorhus/type-fest/commit/fa6e31b)

***

###
[`v4.33.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.33.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.32.0...v4.33.0)

- `StringRepeat`: Add support for generating longer strings & fix
instantiations with unions
([#&#8203;1046](https://redirect.github.com/sindresorhus/type-fest/issues/1046))
[`fbccaab`](https://redirect.github.com/sindresorhus/type-fest/commit/fbccaab)
- `Split`: Add support for longer strings
([#&#8203;1042](https://redirect.github.com/sindresorhus/type-fest/issues/1042))
[`49605b9`](https://redirect.github.com/sindresorhus/type-fest/commit/49605b9)
- `Get`: Optimize performance
([#&#8203;1031](https://redirect.github.com/sindresorhus/type-fest/issues/1031))
[`cfb5947`](https://redirect.github.com/sindresorhus/type-fest/commit/cfb5947)
- `KeysOfUnion`: Fix assignability with `keyof`
([#&#8203;1009](https://redirect.github.com/sindresorhus/type-fest/issues/1009))
[`4789c7c`](https://redirect.github.com/sindresorhus/type-fest/commit/4789c7c)
- `IsStringLiteral`: Fix instantiations with infinite string types
([#&#8203;1044](https://redirect.github.com/sindresorhus/type-fest/issues/1044))
[`e7800af`](https://redirect.github.com/sindresorhus/type-fest/commit/e7800af)
- `SetRequiredDeep`: Fix handling of unions in nested keys
([#&#8203;1037](https://redirect.github.com/sindresorhus/type-fest/issues/1037))
[`bf5ce3c`](https://redirect.github.com/sindresorhus/type-fest/commit/bf5ce3c)
- `StringSlice`: Fix return type when passing in non-literal
([#&#8203;1036](https://redirect.github.com/sindresorhus/type-fest/issues/1036))
[`979eccf`](https://redirect.github.com/sindresorhus/type-fest/commit/979eccf)
- `Sum`/`Subtract`: Fix instantiations with unions
([#&#8203;1034](https://redirect.github.com/sindresorhus/type-fest/issues/1034))
[`69bfd51`](https://redirect.github.com/sindresorhus/type-fest/commit/69bfd51)

***

###
[`v4.32.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.32.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.31.0...v4.32.0)

##### New types

-
[`IsTuple`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-tuple.d.ts)
([#&#8203;1024](https://redirect.github.com/sindresorhus/type-fest/issues/1024))
[`1e0872d`](https://redirect.github.com/sindresorhus/type-fest/commit/1e0872d)
-
[`SetRequiredDeep`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/set-required-deep.d.ts)
([#&#8203;939](https://redirect.github.com/sindresorhus/type-fest/issues/939))
[`3d54627`](https://redirect.github.com/sindresorhus/type-fest/commit/3d54627)

##### Improvements

- `PartialDeep`: Add
[`allowUndefinedInNonTupleArrays`](20f1995b4a/source/partial-deep.d.ts (L14-L38))
option
([#&#8203;1019](https://redirect.github.com/sindresorhus/type-fest/issues/1019))
[`278df80`](https://redirect.github.com/sindresorhus/type-fest/commit/278df80)

##### Fixes

- `SetRequired`: Fix support for removal of optional modifiers from
tuples
([#&#8203;1030](https://redirect.github.com/sindresorhus/type-fest/issues/1030))
[`c897aad`](https://redirect.github.com/sindresorhus/type-fest/commit/c897aad)

***

###
[`v4.31.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.31.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.30.2...v4.31.0)

- `SetFieldType`: Add option to preserve property modifiers
([#&#8203;1017](https://redirect.github.com/sindresorhus/type-fest/issues/1017))
[`59517cb`](https://redirect.github.com/sindresorhus/type-fest/commit/59517cb)
- `IsEqual`: Fix identity issue
([#&#8203;1012](https://redirect.github.com/sindresorhus/type-fest/issues/1012))
[`591700a`](https://redirect.github.com/sindresorhus/type-fest/commit/591700a)
- `SetOptional`: Fix instantiations with index signatures
([#&#8203;1014](https://redirect.github.com/sindresorhus/type-fest/issues/1014))
[`cb269ff`](https://redirect.github.com/sindresorhus/type-fest/commit/cb269ff)
- `SetRequired`: Fix instantiations with index signatures
([#&#8203;1014](https://redirect.github.com/sindresorhus/type-fest/issues/1014))
[`cb269ff`](https://redirect.github.com/sindresorhus/type-fest/commit/cb269ff)
- `SetReadonly`: Fix instantiations with index signatures
([#&#8203;1014](https://redirect.github.com/sindresorhus/type-fest/issues/1014))
[`cb269ff`](https://redirect.github.com/sindresorhus/type-fest/commit/cb269ff)

###
[`v4.30.2`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.30.2)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.30.1...v4.30.2)

- Fix missing export
([#&#8203;1011](https://redirect.github.com/sindresorhus/type-fest/issues/1011))
[`527d600`](https://redirect.github.com/sindresorhus/type-fest/commit/527d600)
- `SetOptional`/`SetRequired`/`SetReadonly`: Fix when the second
argument is `any`
([#&#8203;1007](https://redirect.github.com/sindresorhus/type-fest/issues/1007))
[`fdbcb11`](https://redirect.github.com/sindresorhus/type-fest/commit/fdbcb11)
- `SetOptional`: Fix when instantiated with unions
([#&#8203;1007](https://redirect.github.com/sindresorhus/type-fest/issues/1007))
[`fdbcb11`](https://redirect.github.com/sindresorhus/type-fest/commit/fdbcb11)

###
[`v4.30.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.30.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.30.0...v4.30.1)

- `Arrayable`: Make it more usable by removing `readonly`
([#&#8203;1003](https://redirect.github.com/sindresorhus/type-fest/issues/1003))
[`a128f69`](https://redirect.github.com/sindresorhus/type-fest/commit/a128f69)

###
[`v4.30.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.30.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.29.1...v4.30.0)

- Add
[`SharedUnionFields`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/shared-union-fields.d.ts)
type
([#&#8203;994](https://redirect.github.com/sindresorhus/type-fest/issues/994))
[`a716c29`](https://redirect.github.com/sindresorhus/type-fest/commit/a716c29)
- `ArrayTail`: Fix support for optional parameters
([#&#8203;977](https://redirect.github.com/sindresorhus/type-fest/issues/977))
[`f6b1387`](https://redirect.github.com/sindresorhus/type-fest/commit/f6b1387)

###
[`v4.29.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.29.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.29.0...v4.29.1)

- `IsAny`: Fix circular constraint error on TypeScript 5.4+
([#&#8203;993](https://redirect.github.com/sindresorhus/type-fest/issues/993))
[`32d94dd`](https://redirect.github.com/sindresorhus/type-fest/commit/32d94dd)

###
[`v4.29.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.29.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.28.1...v4.29.0)

- Add
[`IntClosedRange`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/int-closed-range.d.ts)
type
([#&#8203;992](https://redirect.github.com/sindresorhus/type-fest/issues/992))
[`d7b692b`](https://redirect.github.com/sindresorhus/type-fest/commit/d7b692b)
- `Schema`: Add
[`recurseIntoArrays`](1d44863d3a/source/schema.d.ts (L89-L113))
option
([#&#8203;960](https://redirect.github.com/sindresorhus/type-fest/issues/960))
[`fbbb8ba`](https://redirect.github.com/sindresorhus/type-fest/commit/fbbb8ba)

###
[`v4.28.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.28.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.28.0...v4.28.1)

- `SharedUnionFieldsDeep`: Fix support for optional fields
([#&#8203;988](https://redirect.github.com/sindresorhus/type-fest/issues/988))
[`4b49b93`](https://redirect.github.com/sindresorhus/type-fest/commit/4b49b93)

###
[`v4.28.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.28.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.27.1...v4.28.0)

- `TsConfigJson`: Add TypeScript 5.7 fields
([#&#8203;987](https://redirect.github.com/sindresorhus/type-fest/issues/987))
[`9d6fff3`](https://redirect.github.com/sindresorhus/type-fest/commit/9d6fff3)

###
[`v4.27.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.27.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.27.0...v4.27.1)

- `SharedUnionFieldsDeep`: Fix propagation for non union root types
([#&#8203;984](https://redirect.github.com/sindresorhus/type-fest/issues/984))
[`f215f9f`](https://redirect.github.com/sindresorhus/type-fest/commit/f215f9f)
- `ArraySlice`: Fix support for union input
([#&#8203;986](https://redirect.github.com/sindresorhus/type-fest/issues/986))
[`0efbae3`](https://redirect.github.com/sindresorhus/type-fest/commit/0efbae3)

###
[`v4.27.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.27.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.26.1...v4.27.0)

- Add
[`Words`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/words.d.ts)
type
([#&#8203;975](https://redirect.github.com/sindresorhus/type-fest/issues/975))
[`13c0c83`](https://redirect.github.com/sindresorhus/type-fest/commit/13c0c83)
- `Get`: Fix handling of paths with number template literal
([#&#8203;968](https://redirect.github.com/sindresorhus/type-fest/issues/968))
[`b93f54a`](https://redirect.github.com/sindresorhus/type-fest/commit/b93f54a)
- `TsConfigJson`: Add `noCheck` to `compilerOptions`
([#&#8203;981](https://redirect.github.com/sindresorhus/type-fest/issues/981))
[`a470913`](https://redirect.github.com/sindresorhus/type-fest/commit/a470913)

###
[`v4.26.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.26.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.26.0...v4.26.1)

- `Exact`: Fix usage with recursive types and unions
([#&#8203;949](https://redirect.github.com/sindresorhus/type-fest/issues/949))
[`91f6d39`](https://redirect.github.com/sindresorhus/type-fest/commit/91f6d39)

###
[`v4.26.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.26.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.25.0...v4.26.0)

- Add
[`UnionToTuple`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/union-to-tuple.d.ts)
type
([#&#8203;945](https://redirect.github.com/sindresorhus/type-fest/issues/945))
[`1f4f7a1`](https://redirect.github.com/sindresorhus/type-fest/commit/1f4f7a1)

###
[`v4.25.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.25.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.24.0...v4.25.0)

- Add `StringRepeat` type
([#&#8203;938](https://redirect.github.com/sindresorhus/type-fest/issues/938))
[`a83e87e`](https://redirect.github.com/sindresorhus/type-fest/commit/a83e87e)
- Add `Arrayable` type
[#&#8203;270](https://redirect.github.com/sindresorhus/type-fest/issues/270)
([#&#8203;935](https://redirect.github.com/sindresorhus/type-fest/issues/935))
[`9aabcb9`](https://redirect.github.com/sindresorhus/type-fest/commit/9aabcb9)

###
[`v4.24.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.24.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.23.0...v4.24.0)

- `Path`: Add `bracketNotation` option
([#&#8203;926](https://redirect.github.com/sindresorhus/type-fest/issues/926))
[`3b15a94`](https://redirect.github.com/sindresorhus/type-fest/commit/3b15a94)

###
[`v4.23.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.23.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.22.1...v4.23.0)

- `Paths`: Add `maxRecursionDepth` option
([#&#8203;920](https://redirect.github.com/sindresorhus/type-fest/issues/920))
[`052e887`](https://redirect.github.com/sindresorhus/type-fest/commit/052e887)

###
[`v4.22.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.22.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.22.0...v4.22.1)

- Fix missing exported internal types
([#&#8203;918](https://redirect.github.com/sindresorhus/type-fest/issues/918))
[`4b74444`](https://redirect.github.com/sindresorhus/type-fest/commit/4b74444)

###
[`v4.22.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.22.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.21.0...v4.22.0)

##### New types

-
[`ArrayTail`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/array-tail.d.ts)
([#&#8203;913](https://redirect.github.com/sindresorhus/type-fest/issues/913))
[`128b21e`](https://redirect.github.com/sindresorhus/type-fest/commit/128b21e)
-
[`NonEmptyTuple`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/non-empty-tuple.d.ts)
([#&#8203;915](https://redirect.github.com/sindresorhus/type-fest/issues/915))
[`bb57638`](https://redirect.github.com/sindresorhus/type-fest/commit/bb57638)
-
[`FindGlobalType`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/find-global-type.d.ts)
([#&#8203;908](https://redirect.github.com/sindresorhus/type-fest/issues/908))
[`0086cd6`](https://redirect.github.com/sindresorhus/type-fest/commit/0086cd6)
-
[`FindGlobalInstanceType`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/find-global-type.d.ts)
([#&#8203;908](https://redirect.github.com/sindresorhus/type-fest/issues/908))
[`0086cd6`](https://redirect.github.com/sindresorhus/type-fest/commit/0086cd6)

##### Improvements

- Ensure all `RequireX` types' second parameter is optional
([#&#8203;907](https://redirect.github.com/sindresorhus/type-fest/issues/907))
[`fee4e04`](https://redirect.github.com/sindresorhus/type-fest/commit/fee4e04)
-
[`StructuredCloneable`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/find-global-type.d.ts):
Include web-specific types when available
([#&#8203;908](https://redirect.github.com/sindresorhus/type-fest/issues/908))
[`0086cd6`](https://redirect.github.com/sindresorhus/type-fest/commit/0086cd6)

##### Fixes

- `Exact`: Fix type when class is present
([#&#8203;911](https://redirect.github.com/sindresorhus/type-fest/issues/911))
[`bf85819`](https://redirect.github.com/sindresorhus/type-fest/commit/bf85819)

###
[`v4.21.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.21.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.20.1...v4.21.0)

##### New types

-
[`StructuredCloneable`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/structured-cloneable.d.ts)
([#&#8203;897](https://redirect.github.com/sindresorhus/type-fest/issues/897))
[`737550b`](https://redirect.github.com/sindresorhus/type-fest/commit/737550b)

##### Fixes

- `Jsonify`: Convert `undefined` to `null` in union element of array
([#&#8203;901](https://redirect.github.com/sindresorhus/type-fest/issues/901))
[`60c1024`](https://redirect.github.com/sindresorhus/type-fest/commit/60c1024)
- `Exact`: Fix support for `Date` in union
([#&#8203;902](https://redirect.github.com/sindresorhus/type-fest/issues/902))
[`d89a709`](https://redirect.github.com/sindresorhus/type-fest/commit/d89a709)
- `CamelCasedPropertiesDeep`: Fix handling of non-recursive types inside
target type
([#&#8203;890](https://redirect.github.com/sindresorhus/type-fest/issues/890))
[`476024d`](https://redirect.github.com/sindresorhus/type-fest/commit/476024d)

###
[`v4.20.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.20.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.20.0...v4.20.1)

- `Schema`: Fix handling of arrays
([#&#8203;887](https://redirect.github.com/sindresorhus/type-fest/issues/887))
[`c570ec2`](https://redirect.github.com/sindresorhus/type-fest/commit/c570ec2)
- `Paths`: Prevent infinite recursion
([#&#8203;891](https://redirect.github.com/sindresorhus/type-fest/issues/891))
[`7d4e875`](https://redirect.github.com/sindresorhus/type-fest/commit/7d4e875)

###
[`v4.20.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.20.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.19.0...v4.20.0)

- `SimplifyDeep`: Support array
([#&#8203;888](https://redirect.github.com/sindresorhus/type-fest/issues/888))
[`a6ab051`](https://redirect.github.com/sindresorhus/type-fest/commit/a6ab051)
- `IsLiteral`: Return `false` for tagged types
([#&#8203;886](https://redirect.github.com/sindresorhus/type-fest/issues/886))
[`587380c`](https://redirect.github.com/sindresorhus/type-fest/commit/587380c)

###
[`v4.19.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.19.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.18.3...v4.19.0)

- Add
[`SimplifyDeep`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/simplify-deep.d.ts)
type
([#&#8203;882](https://redirect.github.com/sindresorhus/type-fest/issues/882))
[`3a04fcf`](https://redirect.github.com/sindresorhus/type-fest/commit/3a04fcf)

###
[`v4.18.3`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.18.3)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.18.2...v4.18.3)

- `ConditionalKeys`: Fix filtering out never type
([#&#8203;881](https://redirect.github.com/sindresorhus/type-fest/issues/881))
[`863511d`](https://redirect.github.com/sindresorhus/type-fest/commit/863511d)

###
[`v4.18.2`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.18.2)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.18.1...v4.18.2)

- `CamelCasedPropertiesDeep`: Fix tuple being incorrectly turned into
array
([#&#8203;818](https://redirect.github.com/sindresorhus/type-fest/issues/818))
[`4e7bb18`](https://redirect.github.com/sindresorhus/type-fest/commit/4e7bb18)

###
[`v4.18.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.18.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.18.0...v4.18.1)

- Fix missing exports
([#&#8203;876](https://redirect.github.com/sindresorhus/type-fest/issues/876))
[`ed860e9`](https://redirect.github.com/sindresorhus/type-fest/commit/ed860e9)

###
[`v4.18.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.18.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.17.0...v4.18.0)

##### New types

-
[`Or`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/or.d.ts)
[`909c38e`](https://redirect.github.com/sindresorhus/type-fest/commit/909c38e)
-
[`And`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/and.d.ts)
[`9d628aa`](https://redirect.github.com/sindresorhus/type-fest/commit/9d628aa)

##### Improvements

- `TsConfigJson`: Add `preserve` module type and `ES2022` lib types
([#&#8203;874](https://redirect.github.com/sindresorhus/type-fest/issues/874))
[`7096613`](https://redirect.github.com/sindresorhus/type-fest/commit/7096613)
- `Opaque`: Mark as deprecated
([#&#8203;867](https://redirect.github.com/sindresorhus/type-fest/issues/867))
[`ef7b580`](https://redirect.github.com/sindresorhus/type-fest/commit/ef7b580)
- `UnwrapOpaque`: Mark as deprecated
([#&#8203;867](https://redirect.github.com/sindresorhus/type-fest/issues/867))
[`ef7b580`](https://redirect.github.com/sindresorhus/type-fest/commit/ef7b580)

###
[`v4.17.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.17.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.16.0...v4.17.0)

##### New types

-
[`IsNull`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-null.d.ts)
[`d639574`](https://redirect.github.com/sindresorhus/type-fest/commit/d639574)

##### Fixes

- `Zero`: Fix missing export
([#&#8203;870](https://redirect.github.com/sindresorhus/type-fest/issues/870))
[`91a2b1e`](https://redirect.github.com/sindresorhus/type-fest/commit/91a2b1e)

###
[`v4.16.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.16.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.15.0...v4.16.0)

##### New types

-
[`IsInteger`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-integer.d.ts)
-
[`IsFloat`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/is-float.d.ts)

##### Fixes

- `Integer`: Fix handling of some edge-cases
([#&#8203;857](https://redirect.github.com/sindresorhus/type-fest/issues/857))
[`f5b09de`](https://redirect.github.com/sindresorhus/type-fest/commit/f5b09de)
- `Float`: Fix handling of some edge-cases
([#&#8203;857](https://redirect.github.com/sindresorhus/type-fest/issues/857))
[`f5b09de`](https://redirect.github.com/sindresorhus/type-fest/commit/f5b09de)

###
[`v4.15.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.15.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.14.0...v4.15.0)

##### New types

-
[`SingleKeyObject`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/single-key-object.d.ts)
([#&#8203;849](https://redirect.github.com/sindresorhus/type-fest/issues/849))
[`fa1c3f3`](https://redirect.github.com/sindresorhus/type-fest/commit/fa1c3f3)
-
[`IfEmptyObject`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/if-empty-object.d.ts)
([#&#8203;849](https://redirect.github.com/sindresorhus/type-fest/issues/849))
[`fa1c3f3`](https://redirect.github.com/sindresorhus/type-fest/commit/fa1c3f3)

##### Fixes

- `ConditionalKeys`: Fix TypeScript 5.4 compatibility
([#&#8203;852](https://redirect.github.com/sindresorhus/type-fest/issues/852))
[`0fb2d62`](https://redirect.github.com/sindresorhus/type-fest/commit/0fb2d62)
- `WritableDeep`: Fix TypeScript 5.4 compatibility
([#&#8203;839](https://redirect.github.com/sindresorhus/type-fest/issues/839))
[`2878773`](https://redirect.github.com/sindresorhus/type-fest/commit/2878773)
- `ReadonlyDeep`: Fix TypeScript 5.4 compatibility
([#&#8203;839](https://redirect.github.com/sindresorhus/type-fest/issues/839))
[`2878773`](https://redirect.github.com/sindresorhus/type-fest/commit/2878773)

###
[`v4.14.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.14.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.13.1...v4.14.0)

- Add
[`DistributedPick`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/distributed-pick.d.ts)
type
([#&#8203;841](https://redirect.github.com/sindresorhus/type-fest/issues/841))
[`fa4099c`](https://redirect.github.com/sindresorhus/type-fest/commit/fa4099c)

###
[`v4.13.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.13.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.13.0...v4.13.1)

- `SetParameterType`: Properly fix compatibility with TypeScript 5.4
([#&#8203;836](https://redirect.github.com/sindresorhus/type-fest/issues/836))
[`a186adb`](https://redirect.github.com/sindresorhus/type-fest/commit/a186adb)

###
[`v4.13.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.13.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.12.0...v4.13.0)

##### New types

-
[`DistributedOmit`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/distributed-omit.d.ts)
([#&#8203;820](https://redirect.github.com/sindresorhus/type-fest/issues/820))
[`bc49577`](https://redirect.github.com/sindresorhus/type-fest/commit/bc49577)

##### Improvements

- `ArraySlice`: Support array spread
([#&#8203;832](https://redirect.github.com/sindresorhus/type-fest/issues/832))
[`d2d0d01`](https://redirect.github.com/sindresorhus/type-fest/commit/d2d0d01)

##### Fixes

- `SetParameterType`: Fix compatibility with TypeScript 5.4
([#&#8203;835](https://redirect.github.com/sindresorhus/type-fest/issues/835))
[`2bc451e`](https://redirect.github.com/sindresorhus/type-fest/commit/2bc451e)
- `OmitDeep`: Fix handling for when the given path is not matched
([#&#8203;834](https://redirect.github.com/sindresorhus/type-fest/issues/834))
[`4f14bff`](https://redirect.github.com/sindresorhus/type-fest/commit/4f14bff)

###
[`v4.12.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.12.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.11.1...v4.12.0)

##### New types

-
[`ArraySlice`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/array-slice.d.ts)
-
[`StringSlice`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/string-slice.d.ts)
-
[`IsNegative`](85221aa12f/source/numeric.d.ts (L172-L187))
-
[`GreaterThan`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/greater-than.d.ts)
-
[`GreaterThanOrEqual`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/greater-than-or-equal.d.ts)
-
[`LessThan`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/less-than.d.ts)
-
[`LessThanOrEqual`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/less-than-or-equal.d.ts)
-
[`Sum`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/sum.d.ts)
-
[`Subtract`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/subtract.d.ts)

###
[`v4.11.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.11.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.11.0...v4.11.1)

- `OmitDeep`: Fix internally imported type
([#&#8203;824](https://redirect.github.com/sindresorhus/type-fest/issues/824))
[`2061925`](https://redirect.github.com/sindresorhus/type-fest/commit/2061925)

###
[`v4.11.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.11.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.10.3...v4.11.0)

##### New types

-
[`OmitDeep`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/omit-deep.d.ts)
([#&#8203;816](https://redirect.github.com/sindresorhus/type-fest/issues/816))
[`0e196aa`](https://redirect.github.com/sindresorhus/type-fest/commit/0e196aa)
-
[`ArraySplice`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/array-splice.d.ts)
([#&#8203;816](https://redirect.github.com/sindresorhus/type-fest/issues/816))
[`0e196aa`](https://redirect.github.com/sindresorhus/type-fest/commit/0e196aa)

##### Improvements

- `Tagged`: Add metadata support
([#&#8203;723](https://redirect.github.com/sindresorhus/type-fest/issues/723))
[`3ec8dba`](https://redirect.github.com/sindresorhus/type-fest/commit/3ec8dba)

###
[`v4.10.3`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.10.3)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.10.2...v4.10.3)

- `PartialOnUndefinedDeep`: Fix it incorrectly removing non-optional
properties when the input type contains an index signature
([#&#8203;764](https://redirect.github.com/sindresorhus/type-fest/issues/764))
[`2f4b55a`](https://redirect.github.com/sindresorhus/type-fest/commit/2f4b55a)

###
[`v4.10.2`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.10.2)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.10.1...v4.10.2)

- `MergeDeep`: Fix compatibility with TypeScript 5.4
([#&#8203;807](https://redirect.github.com/sindresorhus/type-fest/issues/807))
[`5f6165a`](https://redirect.github.com/sindresorhus/type-fest/commit/5f6165a)

###
[`v4.10.1`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.10.1)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.10.0...v4.10.1)

- Fix support for `exactOptionalPropertyTypes: true` tsconfig
([#&#8203;804](https://redirect.github.com/sindresorhus/type-fest/issues/804))
[`a54e313`](https://redirect.github.com/sindresorhus/type-fest/commit/a54e313)

###
[`v4.10.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.10.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.9.0...v4.10.0)

- `Get`: Fix handling of readonly array
([#&#8203;799](https://redirect.github.com/sindresorhus/type-fest/issues/799))
[`4a38651`](https://redirect.github.com/sindresorhus/type-fest/commit/4a38651)
- `SharedUnionFieldsDeep`: Skip if input type is not a union type
([#&#8203;798](https://redirect.github.com/sindresorhus/type-fest/issues/798))
[`6f1db93`](https://redirect.github.com/sindresorhus/type-fest/commit/6f1db93)
- `DelimiterCasedPropertiesDeep`: Don't recurse into intersection type
that include primitive value
([#&#8203;789](https://redirect.github.com/sindresorhus/type-fest/issues/789))
[`eb96609`](https://redirect.github.com/sindresorhus/type-fest/commit/eb96609)
- `Merge`: Don't turn undefined into optional key
([#&#8203;787](https://redirect.github.com/sindresorhus/type-fest/issues/787))
[`0aec247`](https://redirect.github.com/sindresorhus/type-fest/commit/0aec247)

###
[`v4.9.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.9.0)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.8.3...v4.9.0)

##### New types

-
[`SharedUnionFieldsDeep`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/shared-union-fields-deep.d.ts)
([#&#8203;783](https://redirect.github.com/sindresorhus/type-fest/issues/783))
[`94bb3d3`](https://redirect.github.com/sindresorhus/type-fest/commit/94bb3d3)

##### Improvements

- `ReadonlyDeep`: Fix usage with properties defined with `void`
([#&#8203;782](https://redirect.github.com/sindresorhus/type-fest/issues/782))
[`a919f93`](https://redirect.github.com/sindresorhus/type-fest/commit/a919f93)
- `ConditionalPickDeep`: Support interface
([#&#8203;776](https://redirect.github.com/sindresorhus/type-fest/issues/776))
[`ebb7a59`](https://redirect.github.com/sindresorhus/type-fest/commit/ebb7a59)

###
[`v4.8.3`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v4.8.3)

[Compare
Source](https://redirect.github.com/sindresorhus/type-fest/compare/v4.8.2...v4.8.3)

- `MergeDeep`: Fix optional key when value type is `any` or `never`
([#&#8203;777](https://redirect.github.com/sindresorhus/type-fest/issues/777))
[`609c097`](https://redirect.github.com/sindresorhus/type-fest/commit/609c097)
- `Paths`: Ensure it doesn'

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS40IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 21:18:28 +08:00
renovate[bot]
098c75a4ca fix(deps): update dependency read-env-value to v2 (#869)
[skip ci]

This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[read-env-value](https://redirect.github.com/node-modules/read-env-value)
| [`^1.0.0` ->
`^2.0.0`](https://renovatebot.com/diffs/npm/read-env-value/1.1.0/2.0.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/read-env-value/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/read-env-value/1.1.0/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>node-modules/read-env-value (read-env-value)</summary>

###
[`v2.0.2`](https://redirect.github.com/node-modules/read-env-value/blob/HEAD/CHANGELOG.md#small202-2025-08-08-small)

[Compare
Source](https://redirect.github.com/node-modules/read-env-value/compare/v2.0.1...v2.0.2)

- fix: remove src on publish package
([#&#8203;9](https://redirect.github.com/node-modules/read-env-value/issues/9))
([4a2f39c](https://redirect.github.com/node-modules/read-env-value/commit/4a2f39c)),
closes
[#&#8203;9](https://redirect.github.com/node-modules/read-env-value/issues/9)
- test: remove experimental-strip-types flag
([#&#8203;8](https://redirect.github.com/node-modules/read-env-value/issues/8))
([983da2f](https://redirect.github.com/node-modules/read-env-value/commit/983da2f)),
closes
[#&#8203;8](https://redirect.github.com/node-modules/read-env-value/issues/8)
- chore: change jsr name to
[@&#8203;nw/read-env-value](https://redirect.github.com/nw/read-env-value)
([fbbd50b](https://redirect.github.com/node-modules/read-env-value/commit/fbbd50b))

###
[`v2.0.1`](https://redirect.github.com/node-modules/read-env-value/blob/HEAD/CHANGELOG.md#201-2025-07-31)

[Compare
Source](https://redirect.github.com/node-modules/read-env-value/compare/v2.0.0...v2.0.1)

##### Bug Fixes

- duel publish to npm and jsr
([7cd320e](7cd320e410))

###
[`v2.0.0`](https://redirect.github.com/node-modules/read-env-value/blob/HEAD/CHANGELOG.md#200-2025-07-30)

[Compare
Source](https://redirect.github.com/node-modules/read-env-value/compare/v1.1.0...v2.0.0)

##### ⚠ BREAKING CHANGES

- drop Node.js < 22.17.0 support

##### Features

- esm only
([#&#8203;6](https://redirect.github.com/node-modules/read-env-value/issues/6))
([e7f4dad](e7f4dad3f4))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS40IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 21:17:46 +08:00
renovate[bot]
c3059c7138 fix(deps): update dependency npm-package-arg to v13 (#866)
[skip ci]

This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [npm-package-arg](https://redirect.github.com/npm/npm-package-arg) |
[`^10.1.0` ->
`^13.0.0`](https://renovatebot.com/diffs/npm/npm-package-arg/10.1.0/13.0.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/npm-package-arg/13.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/npm-package-arg/10.1.0/13.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>npm/npm-package-arg (npm-package-arg)</summary>

###
[`v13.0.1`](https://redirect.github.com/npm/npm-package-arg/blob/HEAD/CHANGELOG.md#1301-2025-10-06)

[Compare
Source](https://redirect.github.com/npm/npm-package-arg/compare/v13.0.0...v13.0.1)

##### Bug Fixes

-
[`f00dea0`](f00dea08e9)
[#&#8203;211](https://redirect.github.com/npm/npm-package-arg/pull/211)
Correct tarball regex to detect literal dots
([@&#8203;markovejnovic](https://redirect.github.com/markovejnovic))

###
[`v13.0.0`](https://redirect.github.com/npm/npm-package-arg/blob/HEAD/CHANGELOG.md#1300-2025-07-24)

[Compare
Source](https://redirect.github.com/npm/npm-package-arg/compare/v12.0.2...v13.0.0)

##### ⚠️ BREAKING CHANGES

- `npm-package-arg` now supports node `^20.17.0 || >=22.9.0`

##### Bug Fixes

-
[`aa3ed29`](aa3ed290c5)
[#&#8203;207](https://redirect.github.com/npm/npm-package-arg/pull/207)
align to npm 11 node engine range
([@&#8203;owlstronaut](https://redirect.github.com/owlstronaut))

##### Dependencies

-
[`fb6ea64`](fb6ea6416f)
[#&#8203;207](https://redirect.github.com/npm/npm-package-arg/pull/207)
`hosted-git-info@9.0.0`

###
[`v12.0.2`](https://redirect.github.com/npm/npm-package-arg/blob/HEAD/CHANGELOG.md#1202-2025-02-05)

[Compare
Source](https://redirect.github.com/npm/npm-package-arg/compare/v12.0.1...v12.0.2)

##### Bug Fixes

-
[`14cb8a1`](14cb8a18b3)
[#&#8203;200](https://redirect.github.com/npm/npm-package-arg/pull/200)
properly parse non-url encoded file specs
([#&#8203;200](https://redirect.github.com/npm/npm-package-arg/issues/200))
([@&#8203;wraithgar](https://redirect.github.com/wraithgar))

##### Chores

-
[`1343a54`](1343a54064)
[#&#8203;199](https://redirect.github.com/npm/npm-package-arg/pull/199)
bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
from 4.23.4 to 4.23.5
([#&#8203;199](https://redirect.github.com/npm/npm-package-arg/issues/199))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot],
[@&#8203;npm-cli-bot](https://redirect.github.com/npm-cli-bot))

###
[`v12.0.1`](https://redirect.github.com/npm/npm-package-arg/blob/HEAD/CHANGELOG.md#1201-2024-12-10)

[Compare
Source](https://redirect.github.com/npm/npm-package-arg/compare/v12.0.0...v12.0.1)

##### Bug Fixes

-
[`ea07a6e`](ea07a6edc7)
[#&#8203;197](https://redirect.github.com/npm/npm-package-arg/pull/197)
allow for git usernames that start with a number
([#&#8203;197](https://redirect.github.com/npm/npm-package-arg/issues/197))
([@&#8203;wraithgar](https://redirect.github.com/wraithgar))

##### Chores

-
[`41aa799`](41aa799ee5)
[#&#8203;196](https://redirect.github.com/npm/npm-package-arg/pull/196)
bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
from 4.23.3 to 4.23.4
([#&#8203;196](https://redirect.github.com/npm/npm-package-arg/issues/196))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot],
[@&#8203;npm-cli-bot](https://redirect.github.com/npm-cli-bot))

###
[`v12.0.0`](https://redirect.github.com/npm/npm-package-arg/blob/HEAD/CHANGELOG.md#1200-2024-09-25)

[Compare
Source](https://redirect.github.com/npm/npm-package-arg/compare/v11.0.3...v12.0.0)

##### ⚠️ BREAKING CHANGES

- `npm-package-arg` now supports node `^18.17.0 || >=20.5.0`

##### Bug Fixes

-
[`6bf84db`](6bf84db8c3)
[#&#8203;194](https://redirect.github.com/npm/npm-package-arg/pull/194)
align to npm 10 node engine range
([@&#8203;reggi](https://redirect.github.com/reggi))

##### Dependencies

-
[`3361e59`](3361e59441)
[#&#8203;194](https://redirect.github.com/npm/npm-package-arg/pull/194)
`validate-npm-package-name@6.0.0`
-
[`06e3bd6`](06e3bd64cd)
[#&#8203;194](https://redirect.github.com/npm/npm-package-arg/pull/194)
`proc-log@5.0.0`
-
[`96dd671`](96dd671a06)
[#&#8203;194](https://redirect.github.com/npm/npm-package-arg/pull/194)
`hosted-git-info@8.0.0`

##### Chores

-
[`163925e`](163925e693)
[#&#8203;194](https://redirect.github.com/npm/npm-package-arg/pull/194)
run template-oss-apply
([@&#8203;reggi](https://redirect.github.com/reggi))
-
[`a8a9bdd`](a8a9bddc72)
[#&#8203;190](https://redirect.github.com/npm/npm-package-arg/pull/190)
bump
[@&#8203;npmcli/eslint-config](https://redirect.github.com/npmcli/eslint-config)
from 4.0.5 to 5.0.0
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`f8d32ec`](f8d32ec3d0)
[#&#8203;188](https://redirect.github.com/npm/npm-package-arg/pull/188)
postinstall for dependabot template-oss PR
([@&#8203;hashtagchris](https://redirect.github.com/hashtagchris))
-
[`a867f96`](a867f96444)
[#&#8203;188](https://redirect.github.com/npm/npm-package-arg/pull/188)
bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
from 4.23.1 to 4.23.3
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])

###
[`v11.0.3`](https://redirect.github.com/npm/npm-package-arg/blob/HEAD/CHANGELOG.md#1103-2024-07-22)

[Compare
Source](https://redirect.github.com/npm/npm-package-arg/compare/v11.0.2...v11.0.3)

##### Bug Fixes

-
[`59d53b3`](59d53b3ea2)
[#&#8203;184](https://redirect.github.com/npm/npm-package-arg/pull/184)
throws an err when alias is without name
([#&#8203;184](https://redirect.github.com/npm/npm-package-arg/issues/184))
([@&#8203;milaninfy](https://redirect.github.com/milaninfy))

##### Chores

-
[`911661e`](911661e2bd)
[#&#8203;176](https://redirect.github.com/npm/npm-package-arg/pull/176)
bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
to 4.22.0 ([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))
-
[`575012e`](575012e190)
[#&#8203;186](https://redirect.github.com/npm/npm-package-arg/pull/186)
bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
from 4.22.0 to 4.23.1
([#&#8203;186](https://redirect.github.com/npm/npm-package-arg/issues/186))
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot],
[@&#8203;wraithgar](https://redirect.github.com/wraithgar))
-
[`74d06ae`](74d06ae66d)
[#&#8203;176](https://redirect.github.com/npm/npm-package-arg/pull/176)
postinstall for dependabot template-oss PR
([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))

###
[`v11.0.2`](https://redirect.github.com/npm/npm-package-arg/blob/HEAD/CHANGELOG.md#1102-2024-04-12)

[Compare
Source](https://redirect.github.com/npm/npm-package-arg/compare/v11.0.1...v11.0.2)

##### Documentation

-
[`1765111`](17651118e1)
[#&#8203;171](https://redirect.github.com/npm/npm-package-arg/pull/171)
readme: fix broken badge URL
([#&#8203;171](https://redirect.github.com/npm/npm-package-arg/issues/171))
([@&#8203;10xLaCroixDrinker](https://redirect.github.com/10xLaCroixDrinker))

##### Dependencies

-
[`4ccd080`](4ccd08087e)
[#&#8203;173](https://redirect.github.com/npm/npm-package-arg/pull/173)
`proc-log@4.0.0`
([#&#8203;173](https://redirect.github.com/npm/npm-package-arg/issues/173))

##### Chores

-
[`207ba7d`](207ba7d5cf)
[#&#8203;168](https://redirect.github.com/npm/npm-package-arg/pull/168)
postinstall for dependabot template-oss PR
([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))
-
[`604c1d2`](604c1d2011)
[#&#8203;168](https://redirect.github.com/npm/npm-package-arg/pull/168)
bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
from 4.21.1 to 4.21.3
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`82273b5`](82273b59ba)
[#&#8203;165](https://redirect.github.com/npm/npm-package-arg/pull/165)
postinstall for dependabot template-oss PR
([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))
-
[`4228b37`](4228b378a4)
[#&#8203;165](https://redirect.github.com/npm/npm-package-arg/pull/165)
bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
from 4.19.0 to 4.21.1
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`d4b1447`](d4b144726c)
[#&#8203;147](https://redirect.github.com/npm/npm-package-arg/pull/147)
postinstall for dependabot template-oss PR
([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))
-
[`c5920a9`](c5920a9545)
[#&#8203;147](https://redirect.github.com/npm/npm-package-arg/pull/147)
bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
from 4.18.1 to 4.19.0
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
-
[`ee68f93`](ee68f93f7b)
[#&#8203;146](https://redirect.github.com/npm/npm-package-arg/pull/146)
postinstall for dependabot template-oss PR
([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))
-
[`7901052`](79010526af)
[#&#8203;146](https://redirect.github.com/npm/npm-package-arg/pull/146)
bump
[@&#8203;npmcli/template-oss](https://redirect.github.com/npmcli/template-oss)
from 4.18.0 to 4.18.1
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])

###
[`v11.0.1`](https://redirect.github.com/npm/npm-package-arg/blob/HEAD/CHANGELOG.md#1101-2023-09-05)

[Compare
Source](https://redirect.github.com/npm/npm-package-arg/compare/v11.0.0...v11.0.1)

##### Bug Fixes

-
[`74b3c7e`](74b3c7e34a)
[#&#8203;141](https://redirect.github.com/npm/npm-package-arg/pull/141)
use URL instead of url.parse
([#&#8203;141](https://redirect.github.com/npm/npm-package-arg/issues/141))
([@&#8203;wraithgar](https://redirect.github.com/wraithgar))

##### Documentation

-
[`ea00495`](ea00495783)
[#&#8203;142](https://redirect.github.com/npm/npm-package-arg/pull/142)
fix readme typo
([#&#8203;142](https://redirect.github.com/npm/npm-package-arg/issues/142))
([@&#8203;rotu](https://redirect.github.com/rotu))
-
[`26705c5`](26705c5fef)
[#&#8203;143](https://redirect.github.com/npm/npm-package-arg/pull/143)
Fix citations to RFC 8089 (not 8909) for file: url
([#&#8203;143](https://redirect.github.com/npm/npm-package-arg/issues/143))
([@&#8203;rotu](https://redirect.github.com/rotu))

###
[`v11.0.0`](https://redirect.github.com/npm/npm-package-arg/blob/HEAD/CHANGELOG.md#1100-2023-08-15)

[Compare
Source](https://redirect.github.com/npm/npm-package-arg/compare/v10.1.0...v11.0.0)

##### ⚠️ BREAKING CHANGES

- the strict RFC 8089 mode has been removed
- support for node 14 has been removed

##### Bug Fixes

-
[`9344167`](934416709c)
[#&#8203;135](https://redirect.github.com/npm/npm-package-arg/pull/135)
remove strict 8909 mode
([@&#8203;wraithgar](https://redirect.github.com/wraithgar))
-
[`5042ff2`](5042ff2bba)
[#&#8203;139](https://redirect.github.com/npm/npm-package-arg/pull/139)
drop node14 support
([@&#8203;lukekarrys](https://redirect.github.com/lukekarrys))

##### Dependencies

-
[`d2ab7ba`](d2ab7bade1)
[#&#8203;138](https://redirect.github.com/npm/npm-package-arg/pull/138)
bump hosted-git-info from 6.1.1 to 7.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 23:30:04 +08:00
renovate[bot]
0c987a7225 chore(deps): update dependency oxlint-tsgolint to ^0.3.0 (#863)
[skip ci]

This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [oxlint-tsgolint](https://redirect.github.com/oxc-project/tsgolint) |
[`^0.2.0` ->
`^0.3.0`](https://renovatebot.com/diffs/npm/oxlint-tsgolint/0.2.1/0.3.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint-tsgolint/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint-tsgolint/0.2.1/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>oxc-project/tsgolint (oxlint-tsgolint)</summary>

###
[`v0.3.0`](https://redirect.github.com/oxc-project/tsgolint/releases/tag/v0.3.0)

[Compare
Source](https://redirect.github.com/oxc-project/tsgolint/compare/v0.2.1...v0.3.0)

#### What's Changed

- chore(deps): update typescript-go digest to
[`48b739c`](https://redirect.github.com/oxc-project/tsgolint/commit/48b739c)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;311](https://redirect.github.com/oxc-project/tsgolint/pull/311)
- chore(deps): update typescript-go digest to
[`06a7b84`](https://redirect.github.com/oxc-project/tsgolint/commit/06a7b84)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;312](https://redirect.github.com/oxc-project/tsgolint/pull/312)
- chore(deps): update vitest to v4 by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;314](https://redirect.github.com/oxc-project/tsgolint/pull/314)
- feat(rules): Implement `strict_boolean_expressions` by
[@&#8203;nnnnoel](https://redirect.github.com/nnnnoel) in
[#&#8203;222](https://redirect.github.com/oxc-project/tsgolint/pull/222)
- fix: resolve panic when compiling wildcard directory patterns and add
tests for non-ASCII characters by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;319](https://redirect.github.com/oxc-project/tsgolint/pull/319)
- fix(strict-boolean-expressions): fix memory leak by
[@&#8203;camc314](https://redirect.github.com/camc314) in
[#&#8203;316](https://redirect.github.com/oxc-project/tsgolint/pull/316)

#### New Contributors

- [@&#8203;nnnnoel](https://redirect.github.com/nnnnoel) made their
first contribution in
[#&#8203;222](https://redirect.github.com/oxc-project/tsgolint/pull/222)

**Full Changelog**:
<https://github.com/oxc-project/tsgolint/compare/v0.2.1...v0.3.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 23:29:18 +08:00
MK (fengmk2)
89f1250927 refactor: use all in one egg v4 (#855)
required https://github.com/eggjs/egg/pull/5654

---------

Signed-off-by: MK (fengmk2) <fengmk2@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-28 22:17:01 +08:00
renovate[bot]
e1848c71ec chore(deps): update dependency lint-staged to v16 (#853)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [lint-staged](https://redirect.github.com/lint-staged/lint-staged) |
[`^15.5.0` ->
`^16.0.0`](https://renovatebot.com/diffs/npm/lint-staged/15.5.2/16.2.6)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/16.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.5.2/16.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>lint-staged/lint-staged (lint-staged)</summary>

###
[`v16.2.6`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1626)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.5...v16.2.6)

##### Patch Changes

-
[#&#8203;1693](https://redirect.github.com/lint-staged/lint-staged/pull/1693)
[`33d4502`](33d4502ef9)
Thanks
[@&#8203;Adrian-Baran-GY](https://redirect.github.com/Adrian-Baran-GY)!
- Fix problems with `--continue-on-error` option, where tasks might have
still been killed (`SIGINT`) when one of them failed.

###
[`v16.2.5`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1625)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.4...v16.2.5)

##### Patch Changes

-
[#&#8203;1687](https://redirect.github.com/lint-staged/lint-staged/pull/1687)
[`9e02d9d`](9e02d9dc8a)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Fix
unhandled promise rejection when spawning tasks (*instead of the tasks
themselves failing*). Previously when a task failed to spawn,
*lint-staged* also failed and the backup stash might not have been
automatically restored.

###
[`v16.2.4`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1624)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.3...v16.2.4)

##### Patch Changes

-
[#&#8203;1682](https://redirect.github.com/lint-staged/lint-staged/pull/1682)
[`0176038`](01760380e5)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Update
dependencies, including
[`nano-spawn@2.0.0`](https://redirect.github.com/sindresorhus/nano-spawn/releases/tag/v2.0.0)
with bug fixes.

-
[#&#8203;1671](https://redirect.github.com/lint-staged/lint-staged/pull/1671)
[`581a54e`](581a54eea6)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Speed up
execution by only importing the `yaml` depedency if using YAML
configuration files.

###
[`v16.2.3`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1623)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.2...v16.2.3)

##### Patch Changes

-
[#&#8203;1669](https://redirect.github.com/lint-staged/lint-staged/pull/1669)
[`27cd541`](27cd5413d9)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - When using
`--fail-on-changes`, automatically hidden (partially) unstaged changes
are no longer counted to make *lint-staged* fail.

###
[`v16.2.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1622)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.1...v16.2.2)

##### Patch Changes

-
[#&#8203;1667](https://redirect.github.com/lint-staged/lint-staged/pull/1667)
[`699f95d`](699f95df8f)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - The backup
stash will not be dropped when using `--fail-on-changes` and there are
errors. When reverting to original state is disabled (via `--no-revert`
or `--fail-on-changes`), hidden (partially) unstaged changes are still
restored automatically so that it's easier to resolve the situation
manually.

Additionally, the example for using the backup stash manually now uses
the correct backup hash, if available:

  ```shell
  % npx lint-staged --fail-on-changes
  ✔ Backed up original state in git stash (c18d55a3)
  ✔ Running tasks for staged files...
  ✖ Tasks modified files and --fail-on-changes was used!
  ↓ Cleaning up temporary files...

  ✖ lint-staged failed because `--fail-on-changes` was used.

  Any lost modifications can be restored from a git stash:

    > git stash list --format="%h %s"
    c18d55a3 On main: lint-staged automatic backup
    > git apply --index c18d55a3
  ```

###
[`v16.2.1`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1621)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.0...v16.2.1)

##### Patch Changes

-
[#&#8203;1664](https://redirect.github.com/lint-staged/lint-staged/pull/1664)
[`8277b3b`](8277b3b298)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - The
built-in TypeScript types have been updated to more closely match the
implementation. Notably, the list of staged files supplied to task
functions is `readonly string[]` and can't be mutated. Thanks
[@&#8203;outslept](https://redirect.github.com/outslept)!

  ```diff
  export default {
  ---  "*": (files: string[]) => void console.log('staged files', files)
+++ "*": (files: readonly string[]) => void console.log('staged files',
files)
  }
  ```

-
[#&#8203;1654](https://redirect.github.com/lint-staged/lint-staged/pull/1654)
[`70b9af3`](70b9af3ac3)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - This
version has been published from GitHub Actions using [Trusted Publishing
for npm packages](https://docs.npmjs.com/trusted-publishers).

-
[#&#8203;1659](https://redirect.github.com/lint-staged/lint-staged/pull/1659)
[`4996817`](49968170ab)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Fix
searching configuration files when the working directory is a
subdirectory of a git repository, and there are `package.json` files in
the working directory. This situation might happen when running
*lint-staged* for a single package in a monorepo.

-
[#&#8203;1654](https://redirect.github.com/lint-staged/lint-staged/pull/1654)
[`7021f0a`](7021f0af40)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Return the
caret semver range (`^`) to direct dependencies so that future patch and
minor versions are allowed. This enables projects to better maintain and
deduplicate their own transitive dependencies while not requiring direct
updates to *lint-staged*. This was changed in
[16.2.0](https://redirect.github.com/lint-staged/lint-staged/releases/tag/v16.2.0)
after the vulnerability issues with `chalk` and `debug`, which were also
removed in the same version.

Given the recent vulnerabilities in the *npm* ecosystem, it's best to be
very careful when updating dependencies.

###
[`v16.2.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1620)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.6...v16.2.0)

##### Minor Changes

-
[#&#8203;1615](https://redirect.github.com/lint-staged/lint-staged/pull/1615)
[`99eb742`](99eb74200e)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Added a new
option `--fail-on-changes` to make *lint-staged* exit with code 1 when
tasks modify any files, making the `precommit` hook fail. This is
similar to the `git diff --exit-code` option. Using this flag also
implies the `--no-revert` flag which means any changes made by tasks
will be left in the working tree after failing, so that they can be
manually staged and the commit tried again.

-
[#&#8203;1611](https://redirect.github.com/lint-staged/lint-staged/pull/1611)
[`cd05fd3`](cd05fd3495)
Thanks [@&#8203;rlorenzo](https://redirect.github.com/rlorenzo)! - Added
a new option `--continue-on-error` so that *lint-staged* will run all
tasks to completion even if some of them fail. By default, *lint-staded*
will exit early on the first failure.

-
[#&#8203;1637](https://redirect.github.com/lint-staged/lint-staged/pull/1637)
[`82fcc07`](82fcc0789c)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Internal
*lint-staged* errors are now thrown and visible in the console output.
Previously they were caught with the process exit code set to 1, but not
logged. This happens when, for example, there's a syntax error in the
*lint-staged* configuration file.

-
[#&#8203;1647](https://redirect.github.com/lint-staged/lint-staged/pull/1647)
[`a5ecc06`](a5ecc0605d)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Remove
[debug](https://redirect.github.com/debug-js/debug) as a dependency due
to recent malware issue; read more at
[debug-js/debug#1005](https://redirect.github.com/debug-js/debug/issues/1005).
Because of this, the `DEBUG` environment variable is no longer supported
— use the `--debug` to enable debugging

-
[#&#8203;1636](https://redirect.github.com/lint-staged/lint-staged/pull/1636)
[`8db2717`](8db2717574)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Added a new
option `--hide-unstaged` so that *lint-staged* will hide all unstaged
changes to tracked files before running tasks. The changes will be
applied back after running the tasks. Note that the combination of flags
`--hide-unstaged --no-hide-partially-staged` isn't meaningful and
behaves the same as just `--hide-unstaged`.

Thanks to
[@&#8203;ItsNickBarry](https://redirect.github.com/ItsNickBarry) for the
idea and initial implementation in
[#&#8203;1552](https://redirect.github.com/lint-staged/lint-staged/pull/1552).

-
[#&#8203;1648](https://redirect.github.com/lint-staged/lint-staged/pull/1648)
[`7900b3b`](7900b3b79c)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Remove
[lilconfig](https://redirect.github.com/antonk52/lilconfig) to reduce
reliance on third-party dependencies. It was used to find possible
config files outside of those tracked in Git, including from the parent
directories. This behavior has been moved directly into *lint-staged*
and should work about the same.

##### Patch Changes

-
[#&#8203;1633](https://redirect.github.com/lint-staged/lint-staged/pull/1633)
[`7f9e485`](7f9e485a98)
Thanks
[@&#8203;dependabot](https://redirect.github.com/apps/dependabot)! -
Bumps [listr2](https://redirect.github.com/listr2/listr2) from 9.0.3 to
9.0.4.

-
[#&#8203;1626](https://redirect.github.com/lint-staged/lint-staged/pull/1626)
[`99d5a9b`](99d5a9b0dd)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Due to
recent phishing attacks, for example
[chalk@5.6.1](https://redirect.github.com/chalk/chalk/issues/656) was
released with malware. To avoid *lint-staged*'s users being at risk the
**direct dependencies are pinned to exact versions**, instead of
allowing future patch versions with the [caret (`^`)
range](https://docs.npmjs.com/cli/v6/using-npm/semver#caret-ranges-123-025-004).

-
[#&#8203;1588](https://redirect.github.com/lint-staged/lint-staged/pull/1588)
[`035bbf2`](035bbf268a)
Thanks [@&#8203;outslept](https://redirect.github.com/outslept)! -
Increase performance by listing staged files and searching for
configuration concurrently.

-
[#&#8203;1645](https://redirect.github.com/lint-staged/lint-staged/pull/1645)
[`deba3ad`](deba3ad835)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Remove
[chalk](https://redirect.github.com/chalk/chalk) as a dependency due to
recent malware issue; read more at
[chalk/chalk#656](https://redirect.github.com/chalk/chalk/issues/656).

If you are having trouble with ANSI color codes when using
*lint-staged*, you can try setting either `FORCE_COLOR=true` or
`NO_COLOR=true` env variables.

###
[`v16.1.6`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1616)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.5...v16.1.6)

##### Patch Changes

-
[#&#8203;1610](https://redirect.github.com/lint-staged/lint-staged/pull/1610)
[`e93578e`](e93578e265)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Try to
improve terminating of subprocess of tasks by using `SIGKILL`, and only
calling `pidtree` when the the main task process has a known pid.

###
[`v16.1.5`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1615)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.4...v16.1.5)

##### Patch Changes

-
[#&#8203;1608](https://redirect.github.com/lint-staged/lint-staged/pull/1608)
[`4e3ce22`](4e3ce225b3)
Thanks [@&#8203;srsatt](https://redirect.github.com/srsatt)! - Detect
the git repo's top-level directory correctly when in a worktree.

###
[`v16.1.4`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1614)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.3...v16.1.4)

##### Patch Changes

-
[#&#8203;1604](https://redirect.github.com/lint-staged/lint-staged/pull/1604)
[`90b37b0`](90b37b00c2)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Add another
`types` field to `package.json` to make even more sure NPM detects that
*lint-staged* includes built-in TypeScript type definitions.

###
[`v16.1.3`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1613)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.2...v16.1.3)

##### Patch Changes

-
[#&#8203;1602](https://redirect.github.com/lint-staged/lint-staged/pull/1602)
[`7ea700b`](7ea700bcf3)
Thanks [@&#8203;dword-design](https://redirect.github.com/dword-design)!
- Add the `types` field to `package.json` to make sure NPM detects
*lint-staged* includes built-in TypeScript type definitions.

###
[`v16.1.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1612)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.1...v16.1.2)

##### Patch Changes

-
[#&#8203;1570](https://redirect.github.com/lint-staged/lint-staged/pull/1570)
[`a7c0c88`](a7c0c88bcf)
Thanks [@&#8203;ItsNickBarry](https://redirect.github.com/ItsNickBarry)!
- When using `--diff-filter` with the `D` option to include deleted
staged files, *lint-staged* no longer tries to stage the deleted files,
unless they're no longer deleted. Previously this caused an error from
`git add` like `fatal: pathspec 'deleted-file' did not match any files`.

-
[`38f942e`](38f942ecc4)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Removed an
extraneous log entry that printed `shouldHidePArtiallyStagedFiles` to
console output.

###
[`v16.1.1`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1611)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.0...v16.1.1)

##### Patch Changes

-
[#&#8203;1565](https://redirect.github.com/lint-staged/lint-staged/pull/1565)
[`3686977`](3686977ccd)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! -
*Lint-staged* now explicitly warns about potential data loss when using
`--no-stash`.

-
[#&#8203;1571](https://redirect.github.com/lint-staged/lint-staged/pull/1571)
[`02299a9`](02299a9e4f)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Function
tasks (introduced in v16.0.0) only receive the staged files matching the
configured glob, instead of all staged files.

-
[#&#8203;1563](https://redirect.github.com/lint-staged/lint-staged/pull/1563)
[`bc61c74`](bc61c74383)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - This
version fixes incorrect behavior where unstaged changes were committed
when using the `--no-stash` option. This happened because `--no-stash`
implied `--no-hide-partially-staged`, meaning unstaged changes to files
which also had other staged changes were added to the commit by
*lint-staged*; this is no longer the case.

The previous (incorrect) behavior can still be achieved by using both
options `--no-stash --no-hide-partially-staged` at the same time.

###
[`v16.1.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1610)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.0.0...v16.1.0)

##### Minor Changes

-
[#&#8203;1536](https://redirect.github.com/lint-staged/lint-staged/pull/1536)
[`e729daa`](e729daa3b3)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - A new flag
`--no-revert` has been introduced for when task modifications should be
applied to the index before aborting the commit in case of errors. By
default, *lint-staged* will clear all task modifications and revert to
the original state.

-
[#&#8203;1550](https://redirect.github.com/lint-staged/lint-staged/pull/1550)
[`b27fa3f`](b27fa3fecb)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! -
*Lint-staged* now ignores symlinks and leaves them out from the list of
staged files.

##### Patch Changes

-
[#&#8203;1558](https://redirect.github.com/lint-staged/lint-staged/pull/1558)
[`c37dc38`](c37dc38ddd)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - The minimum
required Node.js version is lowered to `20.17` following
[nano-spawn@1.0.2](https://redirect.github.com/sindresorhus/nano-spawn/releases/tag/v1.0.2).

###
[`v16.0.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1600)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.5.2...v16.0.0)

##### Major Changes

-
[#&#8203;1546](https://redirect.github.com/lint-staged/lint-staged/pull/1546)
[`158d15c`](158d15c9ae)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Processes
are spawned using
[nano-spawn](https://redirect.github.com/sindresorhus/nano-spawn)
instead of [execa](https://redirect.github.com/sindresorhus/execa). If
you are using Node.js scripts as tasks, you might need to explicitly run
them with `node`, especially when using Windows:

  ```json
  {
    "*.js": "node my-js-linter.js"
  }
  ```

-
[#&#8203;1546](https://redirect.github.com/lint-staged/lint-staged/pull/1546)
[`158d15c`](158d15c9ae)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - The
`--shell` flag has been removed and *lint-staged* no longer supports
evaluating commands directly via a shell. To migrate existing commands,
you can create a shell script and invoke it instead. Lint-staged will
pass matched staged files as a list of arguments, accessible via
`"$@&#8203;"`:

  ```shell
  ```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 17:43:27 +00:00
renovate[bot]
e8a3ee5208 chore(deps): update actions/checkout action to v5 (#849)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | major | `v4` -> `v5` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v5`](https://redirect.github.com/actions/checkout/compare/v4...v5)

[Compare
Source](https://redirect.github.com/actions/checkout/compare/v4...v5)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 17:09:52 +00:00
renovate[bot]
3671c52513 chore(deps): update actions/setup-node action to v6 (#851)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | major | `v4` -> `v6` |

---

### Release Notes

<details>
<summary>actions/setup-node (actions/setup-node)</summary>

###
[`v6`](https://redirect.github.com/actions/setup-node/compare/v5...v6)

[Compare
Source](https://redirect.github.com/actions/setup-node/compare/v5...v6)

###
[`v5`](https://redirect.github.com/actions/setup-node/compare/v4...v5)

[Compare
Source](https://redirect.github.com/actions/setup-node/compare/v4...v5)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 17:09:10 +00:00
renovate[bot]
35a7be34e8 chore(deps): update actions/first-interaction action to v3 (#850)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/first-interaction](https://redirect.github.com/actions/first-interaction)
| action | major | `v1` -> `v3` |

---

### Release Notes

<details>
<summary>actions/first-interaction (actions/first-interaction)</summary>

###
[`v3`](https://redirect.github.com/actions/first-interaction/compare/v2...v3)

[Compare
Source](https://redirect.github.com/actions/first-interaction/compare/v2...v3)

###
[`v2`](https://redirect.github.com/actions/first-interaction/compare/v1...v2)

[Compare
Source](https://redirect.github.com/actions/first-interaction/compare/v1...v2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 23:12:06 +08:00
renovate[bot]
957f43dab1 chore(deps): update actions/attest-build-provenance action to v3 (#847)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance)
| action | major | `v2` -> `v3` |

---

### Release Notes

<details>
<summary>actions/attest-build-provenance
(actions/attest-build-provenance)</summary>

###
[`v3`](https://redirect.github.com/actions/attest-build-provenance/compare/v2...v3)

[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v2...v3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 23:10:32 +08:00
renovate[bot]
4213bd8823 chore(deps): update dependency mocha to v11.7.4 (#846)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [mocha](https://mochajs.org/)
([source](https://redirect.github.com/mochajs/mocha)) | [`11.6.0` ->
`11.7.4`](https://renovatebot.com/diffs/npm/mocha/11.6.0/11.7.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/mocha/11.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mocha/11.6.0/11.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>mochajs/mocha (mocha)</summary>

###
[`v11.7.4`](https://redirect.github.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#1174-2025-10-01)

[Compare
Source](https://redirect.github.com/mochajs/mocha/compare/v11.7.3...v11.7.4)

##### 🩹 Fixes

- watch mode using chokidar v4
([#&#8203;5379](https://redirect.github.com/mochajs/mocha/issues/5379))
([c2667c3](c2667c3b3f))

##### 📚 Documentation

- migrate remaining legacy wiki pages to main documentation
([#&#8203;5465](https://redirect.github.com/mochajs/mocha/issues/5465))
([bff9166](bff9166073))

##### 🧹 Chores

- remove trailing spaces
([#&#8203;5475](https://redirect.github.com/mochajs/mocha/issues/5475))
([7f68e5c](7f68e5c156))

###
[`v11.7.3`](https://redirect.github.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#1173-2025-09-30)

[Compare
Source](https://redirect.github.com/mochajs/mocha/compare/v11.7.2...v11.7.3)

##### 🩹 Fixes

- use original require() error for TS files if
ERR\_UNKNOWN\_FILE\_EXTENSION
([#&#8203;5408](https://redirect.github.com/mochajs/mocha/issues/5408))
([ebdbc48](ebdbc48769))

##### 📚 Documentation

- add security escalation policy
([#&#8203;5466](https://redirect.github.com/mochajs/mocha/issues/5466))
([4122c7d](4122c7d13d))
- fix duplicate global leak documentation
([#&#8203;5461](https://redirect.github.com/mochajs/mocha/issues/5461))
([1164b9d](1164b9da89))
- migrate third party UIs wiki page to docs
([#&#8203;5434](https://redirect.github.com/mochajs/mocha/issues/5434))
([6654704](66547045cb))
- update maintainer release notes for release-please
([#&#8203;5453](https://redirect.github.com/mochajs/mocha/issues/5453))
([185ae1e](185ae1eabe))

##### 🤖 Automation

- **deps:** bump actions/setup-node in the github-actions group
([#&#8203;5459](https://redirect.github.com/mochajs/mocha/issues/5459))
([48c6f40](48c6f4068b))

###
[`v11.7.2`](https://redirect.github.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#1172-2025-09-01)

[Compare
Source](https://redirect.github.com/mochajs/mocha/compare/v11.7.1...v11.7.2)

##### 🩹 Fixes

- fail with an informative error message on a file with a broken default
import
([#&#8203;5413](https://redirect.github.com/mochajs/mocha/issues/5413))
([b0e6135](b0e6135059))
- load mjs files correctly
([#&#8203;5429](https://redirect.github.com/mochajs/mocha/issues/5429))
([a947b9b](a947b9b955))

##### 📚 Documentation

- add banner from old site to new site, link from new to old
([#&#8203;5414](https://redirect.github.com/mochajs/mocha/issues/5414))
([dedef11](dedef110a2))
- add info on spies to legacy docs
([#&#8203;5421](https://redirect.github.com/mochajs/mocha/issues/5421))
([21f5544](21f554459c))
- explain node import swallowing error
([#&#8203;5401](https://redirect.github.com/mochajs/mocha/issues/5401))
([09f5b2c](09f5b2c9de))
- fix links in new site
([#&#8203;5416](https://redirect.github.com/mochajs/mocha/issues/5416))
([b2bc769](b2bc769c6c))
- migrate assertion libraries wiki link to main docs
([#&#8203;5442](https://redirect.github.com/mochajs/mocha/issues/5442))
([95f3ca8](95f3ca8bc3))
- migrate count assertions wiki page to docs
([#&#8203;5438](https://redirect.github.com/mochajs/mocha/issues/5438))
([02a306c](02a306c6cb))
- migrate shared behaviours to docs-next
([#&#8203;5432](https://redirect.github.com/mochajs/mocha/issues/5432))
([1dc4aa9](1dc4aa98eb))
- migrate Spies wiki page to explainers
([#&#8203;5420](https://redirect.github.com/mochajs/mocha/issues/5420))
([cbcf007](cbcf007c5a))
- Migrate tagging wiki page to docs
([#&#8203;5435](https://redirect.github.com/mochajs/mocha/issues/5435))
([876247a](876247a8a6))
- migrate third party reporters wiki page to docs
([#&#8203;5433](https://redirect.github.com/mochajs/mocha/issues/5433))
([f70764c](f70764c9a5))
- migrate to global leak wiki page to docs
([#&#8203;5437](https://redirect.github.com/mochajs/mocha/issues/5437))
([8a6fdca](8a6fdcafcc))
- update /next bug report link to be docs issue template
([#&#8203;5424](https://redirect.github.com/mochajs/mocha/issues/5424))
([668cb66](668cb66e12))

##### 🧹 Chores

- add issue form for ️ Performance
([#&#8203;5406](https://redirect.github.com/mochajs/mocha/issues/5406))
([a908b3b](a908b3b866))
- add test for `-R import-only-loader`
([#&#8203;5391](https://redirect.github.com/mochajs/mocha/issues/5391))
([6ee5b48](6ee5b483b8))
- also test Node.js 24 in CI
([#&#8203;5405](https://redirect.github.com/mochajs/mocha/issues/5405))
([15f5980](15f5980528))
- bump CI to use 20.19.4, 22.18.0, 24.6.0
([#&#8203;5430](https://redirect.github.com/mochajs/mocha/issues/5430))
([ace5eb4](ace5eb47a7))
- bump Knip to 5.61.2
([#&#8203;5394](https://redirect.github.com/mochajs/mocha/issues/5394))
([f3d7430](f3d743061d))
- cleanup references of --opts
([#&#8203;5402](https://redirect.github.com/mochajs/mocha/issues/5402))
([1096b37](1096b376c3))
- enabled ESLint's no-unused-vars
([#&#8203;5399](https://redirect.github.com/mochajs/mocha/issues/5399))
([d4168ae](d4168aef4c))
- move callback and object typedefs to a new types.d.ts
([#&#8203;5351](https://redirect.github.com/mochajs/mocha/issues/5351))
([3300d21](3300d2155a))
- rewrite base path instead of copy-pasting
([#&#8203;5431](https://redirect.github.com/mochajs/mocha/issues/5431))
([c6c6740](c6c6740fb4))
- unify caught errors as err
([#&#8203;5439](https://redirect.github.com/mochajs/mocha/issues/5439))
([d4912e7](d4912e705c))
- Update experimental module detection test and pin exact Node versions
([#&#8203;5417](https://redirect.github.com/mochajs/mocha/issues/5417))
([2489090](2489090223))

##### 🤖 Automation

- **deps:** bump actions/checkout in the github-actions group
([#&#8203;5419](https://redirect.github.com/mochajs/mocha/issues/5419))
([03ac2d0](03ac2d0e6e))

###
[`v11.7.1`](https://redirect.github.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#1171-2025-06-24)

[Compare
Source](https://redirect.github.com/mochajs/mocha/compare/v11.7.0...v11.7.1)

##### 🩹 Fixes

- always fallback to import() if require() fails
([#&#8203;5384](https://redirect.github.com/mochajs/mocha/issues/5384))
([295c168](295c168628))

##### 🧹 Chores

- add esm loader test
([#&#8203;5383](https://redirect.github.com/mochajs/mocha/issues/5383))
([f58e49f](f58e49f08d))

###
[`v11.7.0`](https://redirect.github.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#1170-2025-06-18)

[Compare
Source](https://redirect.github.com/mochajs/mocha/compare/v11.6.0...v11.7.0)

##### 🌟 Features

- use require to load esm
([#&#8203;5366](https://redirect.github.com/mochajs/mocha/issues/5366))
([41e24a2](41e24a2429))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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 these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 23:09:20 +08:00
renovate[bot]
f3f3584d62 chore: Configure Renovate (#845)
Welcome to [Renovate](https://redirect.github.com/renovatebot/renovate)!
This is an onboarding PR to help you understand and configure settings
before regular Pull Requests begin.

🚦 To activate Renovate, merge this Pull Request. To disable Renovate,
simply close this Pull Request unmerged.



---
### Detected Package Files

 * `docker-compose-es.yml` (docker-compose)
 * `docker-compose-postgres.yml` (docker-compose)
 * `docker-compose.yml` (docker-compose)
 * `.docker/alpine/Dockerfile` (dockerfile)
 * `.docker/debian/Dockerfile` (dockerfile)
 * `.github/workflows/greetings.yml` (github-actions)
 * `.github/workflows/nodejs.yml` (github-actions)
 * `.github/workflows/release-image.yml` (github-actions)
 * `.github/workflows/release.yml` (github-actions)
 * `app/common/package.json` (npm)
 * `app/core/package.json` (npm)
 * `app/infra/package.json` (npm)
 * `app/port/package.json` (npm)
 * `app/repository/package.json` (npm)
 * `package.json` (npm)

### Configuration Summary

Based on the default config's presets, Renovate will:

  - Start dependency updates only once this onboarding PR is merged
  - Hopefully safe environment variables to allow users to configure.
  - Show all Merge Confidence badges for pull requests.
  - Enable Renovate Dependency Dashboard creation.
- Use semantic commit type `fix` for dependencies and `chore` for all
others if semantic commits are in use.
- Ignore `node_modules`, `bower_components`, `vendor` and various
test/tests (except for nuget) directories.
  - Group known monorepo packages together.
  - Use curated list of recommended non-monorepo package groupings.
- Show only the Age and Confidence Merge Confidence badges for pull
requests.
  - Apply crowd-sourced package replacement rules.
  - Apply crowd-sourced workarounds for known problems with packages.

🔡 Do you want to change how Renovate upgrades your dependencies? Add
your custom config to `renovate.json` in this branch. Renovate will
update the Pull Request description the next time it runs.

---

### What to Expect

With your current configuration, Renovate will create 21 Pull Requests:

<details>
<summary>chore(deps): update dependency mocha to v11.7.4</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/mocha-11.x`
  - Merge into: `master`
- Upgrade [mocha](https://redirect.github.com/mochajs/mocha) to `11.7.4`


</details>

<details>
<summary>chore(deps): update actions/attest-build-provenance action to
v3</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/actions-attest-build-provenance-3.x`
  - Merge into: `master`
- Upgrade
[actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance)
to `v3`


</details>

<details>
<summary>chore(deps): update actions/checkout action to v5</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/actions-checkout-5.x`
  - Merge into: `master`
- Upgrade
[actions/checkout](https://redirect.github.com/actions/checkout) to `v5`


</details>

<details>
<summary>chore(deps): update actions/first-interaction action to
v3</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/actions-first-interaction-3.x`
  - Merge into: `master`
- Upgrade
[actions/first-interaction](https://redirect.github.com/actions/first-interaction)
to `v3`


</details>

<details>
<summary>chore(deps): update actions/setup-node action to v6</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/actions-setup-node-6.x`
  - Merge into: `master`
- Upgrade
[actions/setup-node](https://redirect.github.com/actions/setup-node) to
`v6`


</details>

<details>
<summary>chore(deps): update dependency
@&#8203;simplewebauthn/typescript-types to v8</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/simplewebauthn-typescript-types-8.x`
  - Merge into: `master`
- Upgrade
[@simplewebauthn/typescript-types](https://redirect.github.com/MasterKale/SimpleWebAuthn)
to `^8.0.0`


</details>

<details>
<summary>chore(deps): update dependency lint-staged to v16</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/lint-staged-16.x`
  - Merge into: `master`
- Upgrade
[lint-staged](https://redirect.github.com/lint-staged/lint-staged) to
`^16.0.0`


</details>

<details>
<summary>chore(deps): update mysql docker tag to v9</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/mysql-9.x`
  - Merge into: `master`
  - Upgrade mysql to `9.5`


</details>

<details>
<summary>chore(deps): update postgres docker tag to v18</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/postgres-18.x`
  - Merge into: `master`
  - Upgrade postgres to `18`


</details>

<details>
<summary>chore(deps): update redis docker tag to v8</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/redis-8.x`
  - Merge into: `master`
  - Upgrade redis to `8-alpine`


</details>

<details>
<summary>fix(deps): update dependency @&#8203;elastic/elasticsearch to
v9</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/elastic-elasticsearch-9.x`
  - Merge into: `master`
- Upgrade
[@elastic/elasticsearch](https://redirect.github.com/elastic/elasticsearch-js)
to `^9.0.0`


</details>

<details>
<summary>fix(deps): update dependency @&#8203;simplewebauthn/server to
v13</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/simplewebauthn-server-13.x`
  - Merge into: `master`
- Upgrade
[@simplewebauthn/server](https://redirect.github.com/MasterKale/SimpleWebAuthn)
to `^13.0.0`


</details>

<details>
<summary>fix(deps): update dependency base-x to v5</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/base-x-5.x`
  - Merge into: `master`
- Upgrade [base-x](https://redirect.github.com/cryptocoinjs/base-x) to
`^5.0.0`


</details>

<details>
<summary>fix(deps): update dependency mime-types to v3</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/mime-types-3.x`
  - Merge into: `master`
- Upgrade [mime-types](https://redirect.github.com/jshttp/mime-types) to
`^3.0.0`
- Upgrade
[@types/mime-types](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped)
to `^3.0.0`


</details>

<details>
<summary>fix(deps): update dependency npm-package-arg to v13</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/npm-package-arg-13.x`
  - Merge into: `master`
- Upgrade
[npm-package-arg](https://redirect.github.com/npm/npm-package-arg) to
`^13.0.0`


</details>

<details>
<summary>fix(deps): update dependency p-map to v7</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/p-map-7.x`
  - Merge into: `master`
- Upgrade [p-map](https://redirect.github.com/sindresorhus/p-map) to
`^7.0.0`


</details>

<details>
<summary>fix(deps): update dependency read-env-value to v2</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/read-env-value-2.x`
  - Merge into: `master`
- Upgrade
[read-env-value](https://redirect.github.com/node-modules/read-env-value)
to `^2.0.0`


</details>

<details>
<summary>fix(deps): update dependency ssri to v13</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/ssri-13.x`
  - Merge into: `master`
  - Upgrade [ssri](https://redirect.github.com/npm/ssri) to `^13.0.0`


</details>

<details>
<summary>fix(deps): update dependency type-fest to v5</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/type-fest-5.x`
  - Merge into: `master`
- Upgrade
[type-fest](https://redirect.github.com/sindresorhus/type-fest) to
`^5.0.0`


</details>

<details>
<summary>fix(deps): update dependency ua-parser-js to v2</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/ua-parser-js-2.x`
  - Merge into: `master`
- Upgrade
[ua-parser-js](https://redirect.github.com/faisalman/ua-parser-js) to
`^2.0.0`


</details>

<details>
<summary>fix(deps): update dependency validate-npm-package-name to
v7</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/validate-npm-package-name-7.x`
  - Merge into: `master`
- Upgrade
[validate-npm-package-name](https://redirect.github.com/npm/validate-npm-package-name)
to `^7.0.0`


</details>



🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't
swamp any CI resources or overwhelm the project. See docs for
`prhourlylimit` for details.


---

 Got questions? Check out Renovate's
[Docs](https://docs.renovatebot.com/), particularly the Getting Started
section.
If you need any further assistance then you can also [request help
here](https://redirect.github.com/renovatebot/renovate/discussions).


---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/cnpm/cnpmcore).


<!--renovate-config-hash:e80b4e42a3043bc12fa0640db4bac392d2bf770acf841360d7c8ceeeac2ec1a9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 04:54:57 +00:00
semantic-release-bot
80663505cb Release 4.11.1
[skip ci]

## <small>4.11.1 (2025-10-22)</small>

* fix: improve TypeScript type definitions across codebase (#844) ([e5162f2](https://github.com/cnpm/cnpmcore/commit/e5162f2)), closes [#844](https://github.com/cnpm/cnpmcore/issues/844)
v4.11.1
2025-10-22 17:01:17 +00:00
MK (fengmk2)
e5162f20aa fix: improve TypeScript type definitions across codebase (#844)
This commit enhances type safety and fixes type-related issues
throughout the project including:
- Updated type definitions in entities, repositories, and models
- Improved type annotations in services and controllers
- Fixed type issues in adapters and utilities
- Enhanced test file type definitions
- Added typings/index.d.ts for global type declarations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-23 00:58:59 +08:00
semantic-release-bot
b6c96defa4 Release 4.11.0
[skip ci]

## 4.11.0 (2025-10-15)

* feat: perpage config (#843) ([3e1dbd8](https://github.com/cnpm/cnpmcore/commit/3e1dbd8)), closes [#843](https://github.com/cnpm/cnpmcore/issues/843)
v4.11.0
2025-10-15 16:02:23 +00:00
elrrrrrrr
3e1dbd819c feat: perpage config (#843) 2025-10-16 00:00:21 +08:00
semantic-release-bot
faee3b96f1 Release 4.10.0
[skip ci]

## 4.10.0 (2025-10-15)

* feat: Add time field to abbreviated metadata for pnpm time-based resolution (#834) ([2e51399](https://github.com/cnpm/cnpmcore/commit/2e51399)), closes [#834](https://github.com/cnpm/cnpmcore/issues/834)
* feat: mirror microsoft/ripgrep-prebuilt binary (#842) ([606c983](https://github.com/cnpm/cnpmcore/commit/606c983)), closes [#842](https://github.com/cnpm/cnpmcore/issues/842) [cnpm/cnpmcore#841](https://github.com/cnpm/cnpmcore/issues/841)
* docs: Add comprehensive internal API documentation for direct HTTP requests (#832) ([5b1da74](https://github.com/cnpm/cnpmcore/commit/5b1da74)), closes [#832](https://github.com/cnpm/cnpmcore/issues/832) [#709](https://github.com/cnpm/cnpmcore/issues/709)
* docs: Enhance Copilot instructions with DDD architecture [skip ci] (#838) ([cb93141](https://github.com/cnpm/cnpmcore/commit/cb93141)), closes [#838](https://github.com/cnpm/cnpmcore/issues/838) [cnpm/cnpmcore#837](https://github.com/cnpm/cnpmcore/issues/837)
* test: enable test shard (#839) ([324511d](https://github.com/cnpm/cnpmcore/commit/324511d)), closes [#839](https://github.com/cnpm/cnpmcore/issues/839)
* refactor: use tegg and egg v4 beta (#836) ([c7df471](https://github.com/cnpm/cnpmcore/commit/c7df471)), closes [#836](https://github.com/cnpm/cnpmcore/issues/836)
v4.10.0
2025-10-15 08:15:50 +00:00
Copilot
606c983363 feat: mirror microsoft/ripgrep-prebuilt binary (#842)
- [x] Add `ripgrep-prebuilt` configuration to `config/binaries.ts`
- [x] Create test file for `ripgrep-prebuilt` binary
- [x] Create test fixture data for releases
- [x] Run and validate tests
- [x] Verify linting passes
- [x] Address code review feedback - use assert.equal instead of
assert.ok

<!-- START COPILOT CODING AGENT SUFFIX -->



<details>

<summary>Original prompt</summary>

> 
> ----
> 
> *This section details on the original issue you should resolve*
> 
> <issue_title>mirror microsoft/ripgrep-prebuilt</issue_title>
>
<issue_description>https://github.com/microsoft/ripgrep-prebuilt/releases
> 
> part of
https://github.com/cnpm/binary-mirror-config/issues/57</issue_description>
> 
> ## Comments on the Issue (you are @copilot in this section)
> 
> <comments>
> </comments>
> 


</details>

Fixes cnpm/cnpmcore#841

<!-- START COPILOT CODING AGENT TIPS -->
---

💬 Share your feedback on Copilot coding agent for the chance to win a
$200 gift card! Click
[here](https://survey3.medallia.com/?EAHeSx-AP01bZqG0Ld9QLQ) to start
the survey.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fengmk2 <156269+fengmk2@users.noreply.github.com>
Co-authored-by: MK <fengmk2@gmail.com>
2025-10-15 08:10:04 +00:00
Copilot
cb931417c1 docs: Enhance Copilot instructions with DDD architecture [skip ci] (#838)
## Overview

This PR significantly enhances the `.github/copilot-instructions.md`
file to provide comprehensive guidance for GitHub Copilot when assisting
with cnpmcore development. The instructions have been expanded from 281
lines to 564 lines, adding critical sections that align with GitHub's
best practices for coding agents.

## What Changed

### New Sections Added

**1. Code Style and Conventions**
- Detailed Oxlint and Prettier configuration rules
- TypeScript conventions (strict typing, avoiding `any`, ES modules)
- Testing conventions with naming patterns and mock usage
- Complete code examples for test structure

**2. Domain-Driven Design (DDD) Architecture**
- Visual layer architecture showing dependency flow
- Detailed responsibilities for each layer:
  - Controller: HTTP interface, validation, authentication
  - Service: Business logic orchestration
  - Repository: Data access and persistence
  - Entity: Domain models with business behavior
  - Model: ORM definitions
- Repository method naming conventions (`findX`, `saveX`, `removeX`,
`listXs`)
- Request validation trilogy workflow (params → auth → authorization)
- Database model modification guidelines (update all 3 locations)

**3. Infrastructure Adapters**
- Documentation of enterprise customization points
- Adapter types: NFSClientAdapter, QueueAdapter, AuthAdapter,
BinaryAdapter

**4. Semantic Commit Messages**
- Conventional commit format standards
- Real-world examples for feat, fix, docs, chore, test, refactor, perf

### Sections Enhanced

**Adding New Features** (7 lines → 69 lines)
- Step-by-step bottom-up implementation workflow
- Layer-by-layer implementation guidance
- Complete TypeScript controller code example with decorators:
  ```typescript
  @HTTPController()
  export class YourController extends AbstractController {
    @Inject()
    private readonly yourService: YourService;

    @HTTPMethod({ path: '/api/path', method: 'GET' })
    async yourMethod(@HTTPQuery() params: YourQueryType) {
      // 1. Validate params, 2. Authenticate, 3. Authorize, 4. Execute
    }
  }
  ```

**Testing** (15 lines → 42 lines)
- Testing philosophy (test all features, test at right layer, mock
dependencies)
- Common test patterns with setup/execute/assert structure
- Examples for both success and error cases

**Performance Notes**
- Added individual test file timing (~12 seconds)
- Added linting speed (<1 second)
- Comprehensive timing reference for CI/CD planning

## Quality Validation

 **Markdown Syntax**: All 48 code blocks properly balanced and closed  
 **Completeness**: All 13 key sections present with practical examples
 **Code Examples**: 21 TypeScript code examples throughout  
 **Best Practices**: Follows GitHub's recommended structure for Copilot
instructions

## Benefits

With these enhancements, GitHub Copilot can now:
- Generate code following cnpmcore's DDD architecture patterns
- Apply correct code style (Prettier + Oxlint rules)
- Create properly structured tests with appropriate mocking
- Follow repository naming conventions
- Implement the 3-step request validation pattern
- Suggest appropriate architectural layers for new features
- Generate semantic commit messages

## Related

Closes #[issue_number]

The instructions now provide comprehensive, actionable guidance that
enables GitHub Copilot to be a more effective development assistant
while maintaining code quality and architectural consistency across the
cnpmcore project.

<!-- START COPILOT CODING AGENT SUFFIX -->



<details>

<summary>Original prompt</summary>

> 
> ----
> 
> *This section details on the original issue you should resolve*
> 
> <issue_title> Set up Copilot instructions</issue_title>
> <issue_description>Configure instructions for this repository as
documented in [Best practices for Copilot coding agent in your
repository](https://gh.io/copilot-coding-agent-tips).
> 
> <Onboard this repo></issue_description>
> 
> ## Comments on the Issue (you are @copilot in this section)
> 
> <comments>
> </comments>
> 


</details>
Fixes cnpm/cnpmcore#837

<!-- START COPILOT CODING AGENT TIPS -->
---

 Let Copilot coding agent [set things up for
you](https://github.com/cnpm/cnpmcore/issues/new?title=+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fengmk2 <156269+fengmk2@users.noreply.github.com>
Co-authored-by: MK (fengmk2) <fengmk2@gmail.com>
2025-10-07 22:15:30 +08:00
MK (fengmk2)
324511d159 test: enable test shard (#839)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Improved CI parallelization and shard-aware job naming for faster,
clearer test runs.

* **Bug Fixes**
* More robust handling of binary paths and change-stream edge cases to
reduce rare failures.
* Prevented unintended data mutation and tightened minor
version-handling resilience.

* **Chores**
  * Streamlined test scripts and updated dependency resolution.
* Added Prettier ignore rules, relaxed selected lint rules, and small
build script formatting cleanup.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-07 22:14:14 +08:00
Copilot
2e51399db1 feat: Add time field to abbreviated metadata for pnpm time-based resolution (#834)
- [x] Add time field to abbreviated manifests in
`_listPackageAbbreviatedManifests` method
- [x] Fix cache update logic to populate time field when adding versions
to abbreviated manifests
- [x] Fix cache update logic to remove time field when removing versions
from abbreviated manifests
- [x] Add comprehensive test coverage for time field in abbreviated
manifests
- [x] All tests passing (30/30 in ShowPackageController.test.ts)

closes https://github.com/cnpm/cnpmcore/issues/609

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Package metadata now consistently includes time information (created,
modified, and per-version publish timestamps) in both full and
abbreviated manifests.
* Removing a version also removes its corresponding time entry to keep
metadata accurate.
* Added guards to prevent writing invalid time data, improving
stability.

* **Tests**
* Added tests to verify presence and correctness of time fields in
abbreviated manifests, including created/modified and per-version
timestamps.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fengmk2 <156269+fengmk2@users.noreply.github.com>
Co-authored-by: MK (fengmk2) <fengmk2@gmail.com>
2025-10-06 15:37:26 +08:00
Copilot
5b1da74746 docs: Add comprehensive internal API documentation for direct HTTP requests (#832)
This PR adds comprehensive documentation for cnpmcore's internal APIs,
enabling users to make direct HTTP requests without needing the cnpm
client with outdated dependencies.

## Background

Users requested documentation for internal APIs to avoid using the cnpm
client, which has outdated dependencies like `bagpipe` (11 years old)
and `npm-request` (9 years old). The primary use case is package
synchronization functionality that was previously only accessible
through the cnpm CLI.

## Changes

### New Documentation: `docs/internal-api.md`

Created a comprehensive 988-line API reference covering:

**Package Sync API** - The primary requested functionality:
- `PUT /-/package/:fullname/syncs` - Modern sync API
- `PUT /:fullname/sync` - Legacy sync API (cnpmjs.org compatibility) 
- `GET /-/package/:fullname/syncs/:taskId` - Check sync status
- `GET /-/package/:fullname/syncs/:taskId/log` - View sync logs

**Additional APIs documented:**
- **Token Management**: Create, list, delete authentication tokens
- **Hook Management**: CRUD operations for webhooks
- **Package Administration**: Block/unblock packages (admin only)
- **Registry Management**: Manage multiple npm registries
- **Binary Sync**: List and browse binary packages
- **User Management**: User registration and authentication

### Documentation Features

- Complete curl examples for all endpoints
- Request/response schemas with validation rules
- Authentication requirements clearly marked
- Error handling with HTTP status codes
- Security considerations and best practices
- Real-world workflow examples

### Updated README.md

Added reference to the new internal API documentation to make it
discoverable.

## Usage Examples

Users can now sync packages directly:

```bash
# Trigger package sync
curl -X PUT \
  -H "Authorization: Bearer your-token" \
  -H "Content-Type: application/json" \
  -d '{"tips": "API sync request"}' \
  https://your-registry.com/-/package/lodash/syncs

# Check sync status
curl -H "Authorization: Bearer your-token" \
  https://your-registry.com/-/package/lodash/syncs/task-id

# View sync logs
curl -H "Authorization: Bearer your-token" \
  https://your-registry.com/-/package/lodash/syncs/task-id/log
```

## Validation

All documented endpoints have been verified against the actual
implementation in the controllers. The API paths, parameters, and
response formats match the codebase exactly.

This enables users to extract sync functionality and other operations
without dealing with outdated cnpm dependencies, directly addressing the
issue's core request.

Fixes #709.

<!-- START COPILOT CODING AGENT TIPS -->
---

💡 You can make Copilot smarter by setting up custom instructions,
customizing its development environment and configuring Model Context
Protocol (MCP) servers. Learn more [Copilot coding agent
tips](https://gh.io/copilot-coding-agent-tips) in the docs.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fengmk2 <156269+fengmk2@users.noreply.github.com>
Co-authored-by: MK (fengmk2) <fengmk2@gmail.com>

[skip ci]
2025-10-06 15:18:34 +08:00
MK (fengmk2)
c7df471c0e refactor: use tegg and egg v4 beta (#836)
🦀 for https://github.com/eggjs/egg/issues/3644
2025-10-06 14:48:45 +08:00
semantic-release-bot
c16ec7bad0 Release 4.9.0
[skip ci]

## 4.9.0 (2025-09-12)

* feat: add Firefox binary mirroring support for Puppeteer with version filtering and comprehensive te ([17b1b81](https://github.com/cnpm/cnpmcore/commit/17b1b81)), closes [#828](https://github.com/cnpm/cnpmcore/issues/828) [#826](https://github.com/cnpm/cnpmcore/issues/826)
* chore: Add comprehensive GitHub Copilot instructions with validated commands and timing expectations ([bb0bdef](https://github.com/cnpm/cnpmcore/commit/bb0bdef)), closes [#830](https://github.com/cnpm/cnpmcore/issues/830) [#829](https://github.com/cnpm/cnpmcore/issues/829)
v4.9.0
2025-09-12 11:29:46 +00:00
Copilot
17b1b81eea feat: add Firefox binary mirroring support for Puppeteer with version filtering and comprehensive tests (#828)
- [x] Extended the `BinaryType` enum to include `Firefox = 'firefox'`,
following the established pattern for other binary types.
- [x] Implemented a new `FirefoxBinary` class that:
  - Extends the `AbstractBinary` base class
  - Parses Mozilla's HTML directory listing format using regex patterns
- Handles both version directories (e.g., `131.0.3/`) and binary files
(e.g., `firefox-131.0.3.tar.bz2`)
- Supports all standard platforms: `linux-i686`, `linux-x86_64`, `mac`,
`win32`, `win64`
- **Filters out old Firefox versions < 100.0.0** to reduce noise and
improve performance
- [x] Configured Firefox binary mirroring in `binaries.ts`
- [x] Added intelligent version filtering that:
  - Only processes Firefox version directories >= 100.0.0
  - Uses the `semver` library for accurate version comparison
- Handles beta/RC versions (e.g., "131.0b3") by extracting the base
version ("131.0")
  - Pads two-part versions to semver format (e.g., "131.0" -> "131.0.0")
  - Skips directories with versions < 100.0.0 to avoid outdated releases
- [x] **Implemented focused unit tests that work in CI environments**:
  -  Binary instantiation and dependency injection tests
-  Version filtering verification (correctly includes >= 100.0.0,
excludes < 100.0.0)
- Tests use realistic test fixtures simulating actual Mozilla archive
structure
- **Test cases with old versions (3.6, 52.0, 78.0, 99.0) to verify
filtering works correctly**
- **Unit tests work without requiring external network access or HTTP
mocking**
- [x] **Updated `131.0.3.html` to match the original Mozilla archive
HTML format with proper line breaks**
- [x] **Enhanced error handling to log version parsing failures instead
of silently ignoring them**:
- Added descriptive error logging with proper tags following project
conventions
  - Includes directory name and error details for better troubleshooting
  - Uses `this.logger.warn()` for appropriate log level
- [x] **Resolved all linting errors in Firefox binary tests**:
- Fixed unused catch parameter by removing the unused `error` parameter
- Replaced array with Set for better performance when checking existence
  - **Removed unused `gte` import from semver library**
  - All linting checks now pass successfully
- [x] **Implemented useful preview tests with HTTP mocking**:
  - Tests use `app.mockHttpclient()` instead of real network requests
  - Provide end-to-end integration testing of Firefox binary fetching
- Include root directory fetching, version filtering, and file parsing
tests
- Safe for CI environments since they don't require external network
access
- Help developers preview and validate the Firefox binary functionality
- [x] **Fixed test failure with improved error messages and debugging
support**:
  - Added `filteredResults` variable in test for better error reporting
  - Enhanced assertion messages to show actual vs expected results
  - Improved test robustness and debugging capabilities
- [x] **Removed redundant HTML parsing logic tests**:
- Cleaned up duplicate test logic that was testing the same
functionality
- Kept the more valuable preview tests that provide end-to-end
integration testing
- Focused test suite on the actual API interface rather than internal
implementation details

This enables Puppeteer users in China to configure Firefox binary
downloads through cnpmcore's mirror infrastructure, improving download
speeds and reliability while focusing on modern Firefox versions.

Fixes #826.

<!-- START COPILOT CODING AGENT TIPS -->
---

💬 Share your feedback on Copilot coding agent for the chance to win a
$200 gift card! Click
[here](https://survey3.medallia.com/?EAHeSx-AP01bZqG0Ld9QLQ) to start
the survey.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added Firefox as a selectable binary source alongside existing
options.
* Browse official Firefox release directories and versions directly from
within the app.
* Automatically filters out legacy versions (<100) and handles
pre-release tags consistently.
* Displays accurate file metadata (date, size) and provides direct
download links for release assets.
* Updated catalog to include Firefox releases, enabling easier setup for
Firefox-based automation workflows.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fengmk2 <156269+fengmk2@users.noreply.github.com>
Co-authored-by: MK (fengmk2) <fengmk2@gmail.com>
Co-authored-by: elrrrrrrr <5574625+elrrrrrrr@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-09-12 19:28:03 +08:00
Copilot
bb0bdef070 chore: Add comprehensive GitHub Copilot instructions with validated commands and timing expectations (#830)
This PR adds a comprehensive `.github/copilot-instructions.md` file that
provides GitHub Copilot coding agents with detailed, validated
instructions for working effectively in the cnpmcore codebase.

## What's Included

The instructions cover all essential aspects of development workflow:

- **Environment Setup**: Complete bootstrap process with Node.js,
MySQL/PostgreSQL, and Redis
- **Build & Development**: All npm scripts with measured timing
expectations
- **Testing Strategy**: Both individual test execution and full suite
with proper timeout warnings
- **Database Management**: Setup instructions for both MySQL and
PostgreSQL environments
- **Validation Scenarios**: Step-by-step manual testing procedures for
API endpoints and functionality
- **Architecture Guide**: Project structure navigation and key service
locations
- **Troubleshooting**: Common issues and resolution steps

## Key Features

**Validated Commands**: Every single command has been tested and
measured:
- npm install: ~2 minutes
- TypeScript compilation: ~6 seconds
- Database initialization: <2 seconds  
- Development server startup: ~20 seconds
- Individual tests: ~12 seconds
- **Full test suite: 4+ minutes with "NEVER CANCEL" warnings**

**Critical Timeout Guidance**: The instructions include explicit
warnings about long-running operations with specific timeout
recommendations to prevent premature cancellation of builds and tests.

**Dual Database Support**: Complete workflows for both MySQL and
PostgreSQL development environments with Docker compose setup.

**Manual Validation**: Specific scenarios for testing API endpoints,
authentication, and core registry functionality to ensure changes work
correctly.

The instructions follow the imperative tone requirement ("Run this
command", "Do not do this") and provide the firm directive to always
reference these instructions first before falling back to additional
search or context gathering.

Fixes #829.

> [!WARNING]
>
> <details>
> <summary>Firewall rules blocked me from connecting to one or more
addresses (expand for details)</summary>
>
> #### I tried to connect to the following addresses, but was blocked by
firewall rules:
>
> - `custom.npmjs.com`
> - Triggering command: `/usr/local/bin/node
--unhandled-rejections=strict
/home/REDACTED/work/cnpmcore/cnpmcore/node_modules/mocha/bin/_mocha
--exit --timeout=60000
--reporter=/home/REDACTED/work/cnpmcore/cnpmcore/node_modules/mochawesome-with-mocha/src/mochawesome.js
--reporter-options=reportDir=node_modules/.mochawesome-reports
--require=/home/REDACTED/work/cnpmcore/cnpmcore/node_modules/@eggjs/mock/dist/esm/register.js
/home/REDACTED/work/cnpmcore/cnpmcore/test/.setup.ts
test/cli/npm/access.test.ts test/cli/npm/install.test.ts
test/common/CryptoUtil.test.ts test/common/FileUtil.test.ts
test/common/PackageUtil.test.ts test/common/UserUtil.test.ts
test/common/adapter/BugVersionStore.test.ts
test/common/adapter/CacheAdapter.test.ts
test/common/adapter/NpmRegistry.test.ts
test/common/adapter/binary/ApiBinary.test.ts
test/common/adapter/binary/BucketBinary.test.ts
test/common/adapter/binary/ChromeForTestingBinary.test.ts
test/common/adapter/binary/CypressBinary.test.ts
test/common/adapter/binary/EdgedriverBinary.test.ts
test/common/adapter/binary/ElectronBinary.test.ts
test/common/adapter/binary/GithubBinary.test.ts
test/common/adapter/binary/ImageminBinary.test.ts
test/common/adapter/binary/NodeBinary.test.ts
test/common/adapter/binary/NodePreGypBinary.test.ts
test/common/adapter/binary/NwjsBinary.test.ts
test/common/adapter/binary/PlaywrightBinary.test.ts
test/common/adapter/binary/PrismaBinary.test.ts
test/common/adapter/binary/PuppeteerBinary.test.ts
test/common/adapter/binary/SqlcipherBinary.test.ts
test/common/adapter/changesStream/CnpmcoreChangesStream.test.ts
test/common/adapter/changesStream/CnpmjsorgChangesStream.test.ts
test/common/adapter/changesStream/NpmChangesStream.test.ts
test/core/entity/BugVersion.test.ts
test/core/entity/PaddingSemver.test.ts test/core/entity/SqlRange.test.ts
test/core/entity/Task.test.ts
test/core/event/BugVersionFixHandler.test.ts
test/core/event/ChangesStream.test.ts
test/core/event/StoreManifest.test.ts
test/core/service/BinarySyncerService/createTask.test.ts
test/core/service/BinarySyncerService/executeTask.test.ts
test/core/service/BugVersionService/cleanBugVersionPackageCache.test.ts
test/core/service/BugVersionService/fixPackageBugVersion.test.ts
test/core/service/BugVersionService/fixPackageBugVersions.test.ts
test/core/service/ChangesStreamService.test.ts
test/core/service/CreateHookTriggerService.test.ts
test/core/service/HookManageService/createHook.test.ts
test/core/service/HookManageService/deleteHook.test.ts
test/core/service/HookManageService/getHookByOwnerId.test.ts
test/core/service/HookManageService/updateHook.test.ts
test/core/service/HookTriggerService.test.ts
test/core/service/PackageManagerService/block.test.ts
test/core/service/PackageManagerService/publish.test.ts
test/core/service/PackageSyncerService/createTask.test.ts
test/core/service/PackageSyncerService/executeTask.test.ts
test/core/service/PackageSyncerService/findExecuteTask.test.ts
test/core/service/PackageSyncerService/getTaskRegistry.test.ts
test/core/service/PackageVersionService.test.ts
test/core/service/ProxyCacheService.test.ts
test/core/service/RegistryManagerService/index.test.ts
test/core/service/ScopeManagerService/index.test.ts
test/core/service/TaskService/findExecuteTask.test.ts
test/core/util/EntityUtil.test.ts test/infra/QueueAdapter.test.ts
test/port/controller/AccessController/listCollaborators.test.ts
test/port/controller/AccessController/listPackagesByUser.test.ts
test/port/controller/BinarySyncController/showBinary.test.ts
test/port/controller/ChangesStreamController/listChanges.test.ts
test/port/controller/DownloadController/showPackageDownloads.test.ts
test/port/controller/HomeController/cors.test.ts
test/port/controller/HomeController/misc.test.ts
test/port/controller/HomeController/ping.test.ts
test/port/controller/HomeController/showTotal.test.ts
test/port/controller/PackageBlockController/blockPackage.test.ts
test/port/controller/PackageBlockController/unblockPackage.test.ts
test/port/controller/PackageSyncController/createSyncTask.test.ts
test/port/controller/PackageSyncController/showSyncTask.test.ts
test/port/controller/PackageSyncController/showSyncTaskLog.test.ts
test/port/controller/PackageTagController/removeTag.test.ts
test/port/controller/PackageTagController/saveTag.test.ts
test/port/controller/PackageTagController/showTags.test.ts
test/port/controller/PackageVersionFileController/listFiles.test.ts
test/port/controller/PackageVersionFileController/raw.test.ts
test/port/controller/PackageVersionFileController/sync.test.ts
test/port/controller/ProxyCacheController/index.test.ts
test/port/controller/RegistryController/index.test.ts
test/port/controller/ScopeController/index.test.ts
test/port/controller/TokenController/createToken.test.ts
test/port/controller/TokenController/listTokens.test.ts
test/port/controller/TokenController/removeToken.test.ts
test/port/controller/UserController/loginOrCreateUser.test.ts
test/port/controller/UserController/logout.test.ts
test/port/controller/UserController/saveProfile.test.ts
test/port/controller/UserController/showProfile.test.ts
test/port/controller/UserController/showUser.test.ts
test/port/controller/UserController/starredByUser.test.ts
test/port/controller/UserController/whoami.test.ts
test/port/controller/hook/HookController.test.ts
test/port/controller/package/DownloadPackageVersionTarController.test.ts
test/port/controller/package/RemovePackageVersionController.test.ts
test/port/controller/package/SavePackageVersionController.test.ts
test/port/controller/package/SearchPackageController.test.ts
test/port/controller/package/ShowPackageController.test.ts
test/port/controller/package/ShowPackageVersionController.test.ts
test/port/controller/package/UpdatePackageController.test.ts
test/port/middleware/AlwaysAuth.test.ts
test/port/middleware/Tracing.test.ts
test/port/webauth/webauthController.test.ts
test/repository/ChangeRepository.test.ts
test/repository/PackageRepository.test.ts
test/repository/ProxyCachePepository.test.ts
test/repository/RegistryRepository.test.ts
test/repository/ScopeRepository.test.ts
test/repository/SearchRepository.test.ts
test/repository/TaskRepository.test.ts
test/repository/TotalRepository.test.ts
test/schedule/ChangesStreamWorker.test.ts
test/schedule/CheckProxyCacheUpdateWorker.test.ts
test/schedule/CheckRecentlyUpdatedPackages.test.ts
test/schedule/CleanTempDir.test.ts
test/schedule/SyncBinaryWorker.test.ts
test/schedule/SyncPackageWorker.test.ts
test/schedule/SyncProxyCacheWorker.test.ts
test/schedule/TaskTimeoutHandler.test.ts` (dns block)
> - `msedgewebdriverstorage.blob.core.windows.net`
> - Triggering command: `/usr/local/bin/node
--unhandled-rejections=strict
/home/REDACTED/work/cnpmcore/cnpmcore/node_modules/mocha/bin/_mocha
--exit --timeout=60000
--reporter=/home/REDACTED/work/cnpmcore/cnpmcore/node_modules/mochawesome-with-mocha/src/mochawesome.js
--reporter-options=reportDir=node_modules/.mochawesome-reports
--require=/home/REDACTED/work/cnpmcore/cnpmcore/node_modules/@eggjs/mock/dist/esm/register.js
/home/REDACTED/work/cnpmcore/cnpmcore/test/.setup.ts
test/cli/npm/access.test.ts test/cli/npm/install.test.ts
test/common/CryptoUtil.test.ts test/common/FileUtil.test.ts
test/common/PackageUtil.test.ts test/common/UserUtil.test.ts
test/common/adapter/BugVersionStore.test.ts
test/common/adapter/CacheAdapter.test.ts
test/common/adapter/NpmRegistry.test.ts
test/common/adapter/binary/ApiBinary.test.ts
test/common/adapter/binary/BucketBinary.test.ts
test/common/adapter/binary/ChromeForTestingBinary.test.ts
test/common/adapter/binary/CypressBinary.test.ts
test/common/adapter/binary/EdgedriverBinary.test.ts
test/common/adapter/binary/ElectronBinary.test.ts
test/common/adapter/binary/GithubBinary.test.ts
test/common/adapter/binary/ImageminBinary.test.ts
test/common/adapter/binary/NodeBinary.test.ts
test/common/adapter/binary/NodePreGypBinary.test.ts
test/common/adapter/binary/NwjsBinary.test.ts
test/common/adapter/binary/PlaywrightBinary.test.ts
test/common/adapter/binary/PrismaBinary.test.ts
test/common/adapter/binary/PuppeteerBinary.test.ts
test/common/adapter/binary/SqlcipherBinary.test.ts
test/common/adapter/changesStream/CnpmcoreChangesStream.test.ts
test/common/adapter/changesStream/CnpmjsorgChangesStream.test.ts
test/common/adapter/changesStream/NpmChangesStream.test.ts
test/core/entity/BugVersion.test.ts
test/core/entity/PaddingSemver.test.ts test/core/entity/SqlRange.test.ts
test/core/entity/Task.test.ts
test/core/event/BugVersionFixHandler.test.ts
test/core/event/ChangesStream.test.ts
test/core/event/StoreManifest.test.ts
test/core/service/BinarySyncerService/createTask.test.ts
test/core/service/BinarySyncerService/executeTask.test.ts
test/core/service/BugVersionService/cleanBugVersionPackageCache.test.ts
test/core/service/BugVersionService/fixPackageBugVersion.test.ts
test/core/service/BugVersionService/fixPackageBugVersions.test.ts
test/core/service/ChangesStreamService.test.ts
test/core/service/CreateHookTriggerService.test.ts
test/core/service/HookManageService/createHook.test.ts
test/core/service/HookManageService/deleteHook.test.ts
test/core/service/HookManageService/getHookByOwnerId.test.ts
test/core/service/HookManageService/updateHook.test.ts
test/core/service/HookTriggerService.test.ts
test/core/service/PackageManagerService/block.test.ts
test/core/service/PackageManagerService/publish.test.ts
test/core/service/PackageSyncerService/createTask.test.ts
test/core/service/PackageSyncerService/executeTask.test.ts
test/core/service/PackageSyncerService/findExecuteTask.test.ts
test/core/service/PackageSyncerService/getTaskRegistry.test.ts
test/core/service/PackageVersionService.test.ts
test/core/service/ProxyCacheService.test.ts
test/core/service/RegistryManagerService/index.test.ts
test/core/service/ScopeManagerService/index.test.ts
test/core/service/TaskService/findExecuteTask.test.ts
test/core/util/EntityUtil.test.ts test/infra/QueueAdapter.test.ts
test/port/controller/AccessController/listCollaborators.test.ts
test/port/controller/AccessController/listPackagesByUser.test.ts
test/port/controller/BinarySyncController/showBinary.test.ts
test/port/controller/ChangesStreamController/listChanges.test.ts
test/port/controller/DownloadController/showPackageDownloads.test.ts
test/port/controller/HomeController/cors.test.ts
test/port/controller/HomeController/misc.test.ts
test/port/controller/HomeController/ping.test.ts
test/port/controller/HomeController/showTotal.test.ts
test/port/controller/PackageBlockController/blockPackage.test.ts
test/port/controller/PackageBlockController/unblockPackage.test.ts
test/port/controller/PackageSyncController/createSyncTask.test.ts
test/port/controller/PackageSyncController/showSyncTask.test.ts
test/port/controller/PackageSyncController/showSyncTaskLog.test.ts
test/port/controller/PackageTagController/removeTag.test.ts
test/port/controller/PackageTagController/saveTag.test.ts
test/port/controller/PackageTagController/showTags.test.ts
test/port/controller/PackageVersionFileController/listFiles.test.ts
test/port/controller/PackageVersionFileController/raw.test.ts
test/port/controller/PackageVersionFileController/sync.test.ts
test/port/controller/ProxyCacheController/index.test.ts
test/port/controller/RegistryController/index.test.ts
test/port/controller/ScopeController/index.test.ts
test/port/controller/TokenController/createToken.test.ts
test/port/controller/TokenController/listTokens.test.ts
test/port/controller/TokenController/removeToken.test.ts
test/port/controller/UserController/loginOrCreateUser.test.ts
test/port/controller/UserController/logout.test.ts
test/port/controller/UserController/saveProfile.test.ts
test/port/controller/UserController/showProfile.test.ts
test/port/controller/UserController/showUser.test.ts
test/port/controller/UserController/starredByUser.test.ts
test/port/controller/UserController/whoami.test.ts
test/port/controller/hook/HookController.test.ts
test/port/controller/package/DownloadPackageVersionTarController.test.ts
test/port/controller/package/RemovePackageVersionController.test.ts
test/port/controller/package/SavePackageVersionController.test.ts
test/port/controller/package/SearchPackageController.test.ts
test/port/controller/package/ShowPackageController.test.ts
test/port/controller/package/ShowPackageVersionController.test.ts
test/port/controller/package/UpdatePackageController.test.ts
test/port/middleware/AlwaysAuth.test.ts
test/port/middleware/Tracing.test.ts
test/port/webauth/webauthController.test.ts
test/repository/ChangeRepository.test.ts
test/repository/PackageRepository.test.ts
test/repository/ProxyCachePepository.test.ts
test/repository/RegistryRepository.test.ts
test/repository/ScopeRepository.test.ts
test/repository/SearchRepository.test.ts
test/repository/TaskRepository.test.ts
test/repository/TotalRepository.test.ts
test/schedule/ChangesStreamWorker.test.ts
test/schedule/CheckProxyCacheUpdateWorker.test.ts
test/schedule/CheckRecentlyUpdatedPackages.test.ts
test/schedule/CleanTempDir.test.ts
test/schedule/SyncBinaryWorker.test.ts
test/schedule/SyncPackageWorker.test.ts
test/schedule/SyncProxyCacheWorker.test.ts
test/schedule/TaskTimeoutHandler.test.ts` (dns block)
> - `r.cnpmjs.org`
> - Triggering command: `/usr/local/bin/node
--unhandled-rejections=strict
/home/REDACTED/work/cnpmcore/cnpmcore/node_modules/mocha/bin/_mocha
--exit --timeout=60000
--reporter=/home/REDACTED/work/cnpmcore/cnpmcore/node_modules/mochawesome-with-mocha/src/mochawesome.js
--reporter-options=reportDir=node_modules/.mochawesome-reports
--require=/home/REDACTED/work/cnpmcore/cnpmcore/node_modules/@eggjs/mock/dist/esm/register.js
/home/REDACTED/work/cnpmcore/cnpmcore/test/.setup.ts
test/cli/npm/access.test.ts test/cli/npm/install.test.ts
test/common/CryptoUtil.test.ts test/common/FileUtil.test.ts
test/common/PackageUtil.test.ts test/common/UserUtil.test.ts
test/common/adapter/BugVersionStore.test.ts
test/common/adapter/CacheAdapter.test.ts
test/common/adapter/NpmRegistry.test.ts
test/common/adapter/binary/ApiBinary.test.ts
test/common/adapter/binary/BucketBinary.test.ts
test/common/adapter/binary/ChromeForTestingBinary.test.ts
test/common/adapter/binary/CypressBinary.test.ts
test/common/adapter/binary/EdgedriverBinary.test.ts
test/common/adapter/binary/ElectronBinary.test.ts
test/common/adapter/binary/GithubBinary.test.ts
test/common/adapter/binary/ImageminBinary.test.ts
test/common/adapter/binary/NodeBinary.test.ts
test/common/adapter/binary/NodePreGypBinary.test.ts
test/common/adapter/binary/NwjsBinary.test.ts
test/common/adapter/binary/PlaywrightBinary.test.ts
test/common/adapter/binary/PrismaBinary.test.ts
test/common/adapter/binary/PuppeteerBinary.test.ts
test/common/adapter/binary/SqlcipherBinary.test.ts
test/common/adapter/changesStream/CnpmcoreChangesStream.test.ts
test/common/adapter/changesStream/CnpmjsorgChangesStream.test.ts
test/common/adapter/changesStream/NpmChangesStream.test.ts
test/core/entity/BugVersion.test.ts
test/core/entity/PaddingSemver.test.ts test/core/entity/SqlRange.test.ts
test/core/entity/Task.test.ts
test/core/event/BugVersionFixHandler.test.ts
test/core/event/ChangesStream.test.ts
test/core/event/StoreManifest.test.ts
test/core/service/BinarySyncerService/createTask.test.ts
test/core/service/BinarySyncerService/executeTask.test.ts
test/core/service/BugVersionService/cleanBugVersionPackageCache.test.ts
test/core/service/BugVersionService/fixPackageBugVersion.test.ts
test/core/service/BugVersionService/fixPackageBugVersions.test.ts
test/core/service/ChangesStreamService.test.ts
test/core/service/CreateHookTriggerService.test.ts
test/core/service/HookManageService/createHook.test.ts
test/core/service/HookManageService/deleteHook.test.ts
test/core/service/HookManageService/getHookByOwnerId.test.ts
test/core/service/HookManageService/updateHook.test.ts
test/core/service/HookTriggerService.test.ts
test/core/service/PackageManagerService/block.test.ts
test/core/service/PackageManagerService/publish.test.ts
test/core/service/PackageSyncerService/createTask.test.ts
test/core/service/PackageSyncerService/executeTask.test.ts
test/core/service/PackageSyncerService/findExecuteTask.test.ts
test/core/service/PackageSyncerService/getTaskRegistry.test.ts
test/core/service/PackageVersionService.test.ts
test/core/service/ProxyCacheService.test.ts
test/core/service/RegistryManagerService/index.test.ts
test/core/service/ScopeManagerService/index.test.ts
test/core/service/TaskService/findExecuteTask.test.ts
test/core/util/EntityUtil.test.ts test/infra/QueueAdapter.test.ts
test/port/controller/AccessController/listCollaborators.test.ts
test/port/controller/AccessController/listPackagesByUser.test.ts
test/port/controller/BinarySyncController/showBinary.test.ts
test/port/controller/ChangesStreamController/listChanges.test.ts
test/port/controller/DownloadController/showPackageDownloads.test.ts
test/port/controller/HomeController/cors.test.ts
test/port/controller/HomeController/misc.test.ts
test/port/controller/HomeController/ping.test.ts
test/port/controller/HomeController/showTotal.test.ts
test/port/controller/PackageBlockController/blockPackage.test.ts
test/port/controller/PackageBlockController/unblockPackage.test.ts
test/port/controller/PackageSyncController/createSyncTask.test.ts
test/port/controller/PackageSyncController/showSyncTask.test.ts
test/port/controller/PackageSyncController/showSyncTaskLog.test.ts
test/port/controller/PackageTagController/removeTag.test.ts
test/port/controller/PackageTagController/saveTag.test.ts
test/port/controller/PackageTagController/showTags.test.ts
test/port/controller/PackageVersionFileController/listFiles.test.ts
test/port/controller/PackageVersionFileController/raw.test.ts
test/port/controller/PackageVersionFileController/sync.test.ts
test/port/controller/ProxyCacheController/index.test.ts
test/port/controller/RegistryController/index.test.ts
test/port/controller/ScopeController/index.test.ts
test/port/controller/TokenController/createToken.test.ts
test/port/controller/TokenController/listTokens.test.ts
test/port/controller/TokenController/removeToken.test.ts
test/port/controller/UserController/loginOrCreateUser.test.ts
test/port/controller/UserController/logout.test.ts
test/port/controller/UserController/saveProfile.test.ts
test/port/controller/UserController/showProfile.test.ts
test/port/controller/UserController/showUser.test.ts
test/port/controller/UserController/starredByUser.test.ts
test/port/controller/UserController/whoami.test.ts
test/port/controller/hook/HookController.test.ts
test/port/controller/package/DownloadPackageVersionTarController.test.ts
test/port/controller/package/RemovePackageVersionController.test.ts
test/port/controller/package/SavePackageVersionController.test.ts
test/port/controller/package/SearchPackageController.test.ts
test/port/controller/package/ShowPackageController.test.ts
test/port/controller/package/ShowPackageVersionController.test.ts
test/port/controller/package/UpdatePackageController.test.ts
test/port/middleware/AlwaysAuth.test.ts
test/port/middleware/Tracing.test.ts
test/port/webauth/webauthController.test.ts
test/repository/ChangeRepository.test.ts
test/repository/PackageRepository.test.ts
test/repository/ProxyCachePepository.test.ts
test/repository/RegistryRepository.test.ts
test/repository/ScopeRepository.test.ts
test/repository/SearchRepository.test.ts
test/repository/TaskRepository.test.ts
test/repository/TotalRepository.test.ts
test/schedule/ChangesStreamWorker.test.ts
test/schedule/CheckProxyCacheUpdateWorker.test.ts
test/schedule/CheckRecentlyUpdatedPackages.test.ts
test/schedule/CleanTempDir.test.ts
test/schedule/SyncBinaryWorker.test.ts
test/schedule/SyncPackageWorker.test.ts
test/schedule/SyncProxyCacheWorker.test.ts
test/schedule/TaskTimeoutHandler.test.ts` (dns block)
> - `replicate.npmjs.com`
> - Triggering command: `/usr/local/bin/node
--unhandled-rejections=strict
/home/REDACTED/work/cnpmcore/cnpmcore/node_modules/mocha/bin/_mocha
--exit --timeout=60000
--reporter=/home/REDACTED/work/cnpmcore/cnpmcore/node_modules/mochawesome-with-mocha/src/mochawesome.js
--reporter-options=reportDir=node_modules/.mochawesome-reports
--require=/home/REDACTED/work/cnpmcore/cnpmcore/node_modules/@eggjs/mock/dist/esm/register.js
/home/REDACTED/work/cnpmcore/cnpmcore/test/.setup.ts
test/cli/npm/access.test.ts test/cli/npm/install.test.ts
test/common/CryptoUtil.test.ts test/common/FileUtil.test.ts
test/common/PackageUtil.test.ts test/common/UserUtil.test.ts
test/common/adapter/BugVersionStore.test.ts
test/common/adapter/CacheAdapter.test.ts
test/common/adapter/NpmRegistry.test.ts
test/common/adapter/binary/ApiBinary.test.ts
test/common/adapter/binary/BucketBinary.test.ts
test/common/adapter/binary/ChromeForTestingBinary.test.ts
test/common/adapter/binary/CypressBinary.test.ts
test/common/adapter/binary/EdgedriverBinary.test.ts
test/common/adapter/binary/ElectronBinary.test.ts
test/common/adapter/binary/GithubBinary.test.ts
test/common/adapter/binary/ImageminBinary.test.ts
test/common/adapter/binary/NodeBinary.test.ts
test/common/adapter/binary/NodePreGypBinary.test.ts
test/common/adapter/binary/NwjsBinary.test.ts
test/common/adapter/binary/PlaywrightBinary.test.ts
test/common/adapter/binary/PrismaBinary.test.ts
test/common/adapter/binary/PuppeteerBinary.test.ts
test/common/adapter/binary/SqlcipherBinary.test.ts
test/common/adapter/changesStream/CnpmcoreChangesStream.test.ts
test/common/adapter/changesStream/CnpmjsorgChangesStream.test.ts
test/common/adapter/changesStream/NpmChangesStream.test.ts
test/core/entity/BugVersion.test.ts
test/core/entity/PaddingSemver.test.ts test/core/entity/SqlRange.test.ts
test/core/entity/Task.test.ts
test/core/event/BugVersionFixHandler.test.ts
test/core/event/ChangesStream.test.ts
test/core/event/StoreManifest.test.ts
test/core/service/BinarySyncerService/createTask.test.ts
test/core/service/BinarySyncerService/executeTask.test.ts
test/core/service/BugVersionService/cleanBugVersionPackageCache.test.ts
test/core/service/BugVersionService/fixPackageBugVersion.test.ts
test/core/service/BugVersionService/fixPackageBugVersions.test.ts
test/core/service/ChangesStreamService.test.ts
test/core/service/CreateHookTriggerService.test.ts
test/core/service/HookManageService/createHook.test.ts
test/core/service/HookManageService/deleteHook.test.ts
test/core/service/HookManageService/getHookByOwnerId.test.ts
test/core/service/HookManageService/updateHook.test.ts
test/core/service/HookTriggerService.test.ts
test/core/service/PackageManagerService/block.test.ts
test/core/service/PackageManagerService/publish.test.ts
test/core/service/PackageSyncerService/createTask.test.ts
test/core/service/PackageSyncerService/executeTask.test.ts
test/core/service/PackageSyncerService/findExecuteTask.test.ts
test/core/service/PackageSyncerService/getTaskRegistry.test.ts
test/core/service/PackageVersionService.test.ts
test/core/service/ProxyCacheService.test.ts
test/core/service/RegistryManagerService/index.test.ts
test/core/service/ScopeManagerService/index.test.ts
test/core/service/TaskService/findExecuteTask.test.ts
test/core/util/EntityUtil.test.ts test/infra/QueueAdapter.test.ts
test/port/controller/AccessController/listCollaborators.test.ts
test/port/controller/AccessController/listPackagesByUser.test.ts
test/port/controller/BinarySyncController/showBinary.test.ts
test/port/controller/ChangesStreamController/listChanges.test.ts
test/port/controller/DownloadController/showPackageDownloads.test.ts
test/port/controller/HomeController/cors.test.ts
test/port/controller/HomeController/misc.test.ts
test/port/controller/HomeController/ping.test.ts
test/port/controller/HomeController/showTotal.test.ts
test/port/controller/PackageBlockController/blockPackage.test.ts
test/port/controller/PackageBlockController/unblockPackage.test.ts
test/port/controller/PackageSyncController/createSyncTask.test.ts
test/port/controller/PackageSyncController/showSyncTask.test.ts
test/port/controller/PackageSyncController/showSyncTaskLog.test.ts
test/port/controller/PackageTagController/removeTag.test.ts
test/port/controller/PackageTagController/saveTag.test.ts
test/port/controller/PackageTagController/showTags.test.ts
test/port/controller/PackageVersionFileController/listFiles.test.ts
test/port/controller/PackageVersionFileController/raw.test.ts
test/port/controller/PackageVersionFileController/sync.test.ts
test/port/controller/ProxyCacheController/index.test.ts
test/port/controller/RegistryController/index.test.ts
test/port/controller/ScopeController/index.test.ts
test/port/controller/TokenController/createToken.test.ts
test/port/controller/TokenController/listTokens.test.ts
test/port/controller/TokenController/removeToken.test.ts
test/port/controller/UserController/loginOrCreateUser.test.ts
test/port/controller/UserController/logout.test.ts
test/port/controller/UserController/saveProfile.test.ts
test/port/controller/UserController/showProfile.test.ts
test/port/controller/UserController/showUser.test.ts
test/port/controller/UserController/starredByUser.test.ts
test/port/controller/UserController/whoami.test.ts
test/port/controller/hook/HookController.test.ts
test/port/controller/package/DownloadPackageVersionTarController.test.ts
test/port/controller/package/RemovePackageVersionController.test.ts
test/port/controller/package/SavePackageVersionController.test.ts
test/port/controller/package/SearchPackageController.test.ts
test/port/controller/package/ShowPackageController.test.ts
test/port/controller/package/ShowPackageVersionController.test.ts
test/port/controller/package/UpdatePackageController.test.ts
test/port/middleware/AlwaysAuth.test.ts
test/port/middleware/Tracing.test.ts
test/port/webauth/webauthController.test.ts
test/repository/ChangeRepository.test.ts
test/repository/PackageRepository.test.ts
test/repository/ProxyCachePepository.test.ts
test/repository/RegistryRepository.test.ts
test/repository/ScopeRepository.test.ts
test/repository/SearchRepository.test.ts
test/repository/TaskRepository.test.ts
test/repository/TotalRepository.test.ts
test/schedule/ChangesStreamWorker.test.ts
test/schedule/CheckProxyCacheUpdateWorker.test.ts
test/schedule/CheckRecentlyUpdatedPackages.test.ts
test/schedule/CleanTempDir.test.ts
test/schedule/SyncBinaryWorker.test.ts
test/schedule/SyncPackageWorker.test.ts
test/schedule/SyncProxyCacheWorker.test.ts
test/schedule/TaskTimeoutHandler.test.ts` (dns block)
>
> If you need me to access, download, or install something from one of
these locations, you can either:
>
> - Configure [Actions setup
steps](https://gh.io/copilot/actions-setup-steps) to set up my
environment, which run before the firewall is enabled
> - Add the appropriate URLs or hosts to the custom allowlist in this
repository's [Copilot coding agent
settings](https://github.com/cnpm/cnpmcore/settings/copilot/coding_agent)
(admins only)
>
> </details>



<!-- START COPILOT CODING AGENT TIPS -->
---

💡 You can make Copilot smarter by setting up custom instructions,
customizing its development environment and configuring Model Context
Protocol (MCP) servers. Learn more [Copilot coding agent
tips](https://gh.io/copilot-coding-agent-tips) in the docs.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fengmk2 <156269+fengmk2@users.noreply.github.com>
2025-09-10 14:02:41 +08:00
semantic-release-bot
87da4c359c Release 4.8.0
[skip ci]

## 4.8.0 (2025-09-08)

* chore: add permissions to release workflow ([8587d27](https://github.com/cnpm/cnpmcore/commit/8587d27))
* feat: new node binary date format (#827) ([13b2da0](https://github.com/cnpm/cnpmcore/commit/13b2da0)), closes [#827](https://github.com/cnpm/cnpmcore/issues/827)
v4.8.0
2025-09-08 16:23:46 +00:00
MK
8587d27d85 chore: add permissions to release workflow 2025-09-09 00:21:39 +08:00
elrrrrrrr
13b2da0411 feat: new node binary date format (#827) 2025-09-05 12:55:14 +08:00
semantic-release-bot
3aa4c688b5 Release 4.7.6
[skip ci]

## <small>4.7.6 (2025-08-08)</small>

* fix: use npm truster publisher (#825) ([0a5500b](https://github.com/cnpm/cnpmcore/commit/0a5500b)), closes [#825](https://github.com/cnpm/cnpmcore/issues/825)
* chore: update oxlint config to use @eggjs/oxlint-config (#824) ([f94531c](https://github.com/cnpm/cnpmcore/commit/f94531c)), closes [#824](https://github.com/cnpm/cnpmcore/issues/824)
v4.7.6
2025-08-08 14:45:42 +00:00
fengmk2
0a5500bafd fix: use npm truster publisher (#825)
https://github.com/node-modules/github-actions/issues/14

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
  * Updated the release workflow configuration for improved automation.
  * Upgraded the "oxlint" development dependency to version ^1.11.0.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-08 22:43:52 +08:00
Copilot
f94531cf35 chore: update oxlint config to use @eggjs/oxlint-config (#824)
Updates the oxlint configuration to use the new shared
`@eggjs/oxlint-config` package, significantly simplifying the project's
linting setup while maintaining all existing functionality.

## Changes

- **Added** `@eggjs/oxlint-config@1.0.0` as a dev dependency
- **Updated** `.oxlintrc.json` to extend from the shared configuration
- **Simplified** configuration from 156 lines to 20 lines (87%
reduction)
- **Maintained** all project-specific overrides:
  - `max-params: 6` (vs shared config's 5)
  - `no-console: "warn"` (vs shared config's "allow")
- `import/no-anonymous-default-export: "error"` (vs shared config's
"allow")
  - Added `mocha` environment for test files
  - Preserved `index.d.ts` ignore pattern

## Benefits

- **Consistency**: Now uses the same base linting rules as other EggJS
projects
- **Maintainability**: Rule updates are centralized in the shared config
- **Simplicity**: Dramatically reduced configuration complexity
- **Future-proof**: Automatic updates when the shared config is improved

The configuration now only contains project-specific overrides, making
it much easier to understand and maintain. All existing linting behavior
is preserved - the project passes all linting checks with zero warnings
and errors.

<!-- START COPILOT CODING AGENT TIPS -->
---

💬 Share your feedback on Copilot coding agent for the chance to win a
$200 gift card! Click
[here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to
start the survey.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fengmk2 <156269+fengmk2@users.noreply.github.com>
2025-08-08 22:00:43 +08:00
semantic-release-bot
c3a22fd319 Release 4.7.5
[skip ci]

## [4.7.5](https://github.com/cnpm/cnpmcore/compare/v4.7.4...v4.7.5) (2025-08-07)

### Bug Fixes

* use NPM description ([b23f3fe](b23f3fe22e))
v4.7.5
2025-08-07 14:53:53 +00:00
fengmk2
b23f3fe22e fix: use NPM description 2025-08-07 22:52:12 +08:00
fengmk2
3dbff542ba Revert "fix: use npm trusted publisher (#823)"
This reverts commit 1a4a1c5cf5.
2025-08-07 22:51:41 +08:00
fengmk2
1a4a1c5cf5 fix: use npm trusted publisher (#823)
https://github.com/node-modules/github-actions/issues/14
2025-08-07 22:46:25 +08:00
fengmk2
2cc0f361fb chore: publish docker image to github package (#822)
close https://github.com/cnpm/cnpmcore/issues/821

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Introduced a GitHub Actions workflow to automate building, tagging,
publishing, and attesting Docker images for multiple platforms.

* **Documentation**
* Updated Docker deployment documentation to reflect the new image
repository and usage instructions.

* **Chores**
* Updated Docker build scripts and Dockerfiles for improved image
building and logging.
  * Upgraded the "oxlint" development dependency.
  * Removed the "prepare" script from project scripts.
* Adjusted TypeScript configuration to disable declaration file
generation and exclude test files from compilation.
  * Updated linter configuration to allow additional code patterns.
  * Improved code comments for better linting and error suppression.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-07 22:34:33 +08:00
fengmk2
722a5d70b9 test: fix lint (#819)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
  * Updated linter configuration to relax certain code style rules.
* Upgraded the oxlint development dependency and corrected project URLs
in metadata.
* **Refactor**
* Simplified arrow function syntax in various controllers, services, and
type declarations for improved code readability.
* **Tests**
* Streamlined mock implementations in test files for more concise
syntax.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-07 13:30:52 +08:00
semantic-release-bot
64951041eb Release 4.7.4
[skip ci]

## [4.7.4](https://github.com/cnpm/cnpmcore/compare/v4.7.3...v4.7.4) (2025-06-27)

### Bug Fixes

* remove descending ([#815](https://github.com/cnpm/cnpmcore/issues/815)) ([1001e1f](1001e1ffa2))
v4.7.4
2025-06-27 07:49:56 +00:00
elrrrrrrr
1001e1ffa2 fix: remove descending (#815)
> see https://github.com/orgs/community/discussions/152515
-------
* ♻️ 删除 `descending` 参数
------
* ♻️ remove `descending` args in changesStream


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Refactor**
* Simplified the process for handling request URLs when fetching data,
removing the explicit addition of certain query parameters. This does
not affect user-facing functionality.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: fengmk2 <fengmk2@gmail.com>
2025-06-27 07:44:01 +00:00
semantic-release-bot
b4cf36e289 Release 4.7.3
[skip ci]

## [4.7.3](https://github.com/cnpm/cnpmcore/compare/v4.7.2...v4.7.3) (2025-06-26)

### Bug Fixes

* latest version maybe not exists ([#814](https://github.com/cnpm/cnpmcore/issues/814)) ([bed4778](bed4778cbc))
v4.7.3
2025-06-26 09:50:36 +00:00
fengmk2
bed4778cbc fix: latest version maybe not exists (#814)
```bash
2025-06-26 15:12:05,133 ERROR 423473 [-/127.0.0.1/ea0a01e1-5a66-4191-92c7-f06aa5bb86ea/19.41ms GET /] nodejs.TypeError: [EventBus] process event PACKAGE_MAINTAINER_REMOVED for handler packageVersionAddedSyncESEvent failed: Cannot read properties of undefined (reading 'undefined')
at PackageSearchService.syncPackage (file:///home/admin/application/app/core/service/PackageSearchService.ts:93:45)
at processTicksAndRejections (node:internal/process/task_queues:105:5)
at PackageVersionAddedSyncESEvent.syncPackage (file:///home/admin/application/app/core/event/SyncESPackage.ts:29:5)
at PackageVersionAddedSyncESEvent.handle (file:///home/admin/application/app/core/event/SyncESPackage.ts:53:5)
at EventHandlerFactory.handle (file:///home/admin/application/node_modules/_@eggjs_tegg-eventbus-runtime@4.0.0-beta.4@@eggjs/tegg-eventbus-runtime/src/EventHandlerFactory.ts:49:7)
at file:///home/admin/application/node_modules/_@eggjs_tegg-eventbus-runtime@4.0.0-beta.4@@eggjs/tegg-eventbus-runtime/src/SingletonEventBus.ts:151:13
at async Promise.all (index 2)
at file:///home/admin/application/node_modules/_@eggjs_tegg-eventbus-runtime@4.0.0-beta.4@@eggjs/tegg-eventbus-runtime/src/SingletonEventBus.ts:149:9
at EggContextHandler.run (file:///home/admin/application/node_modules/_@eggjs_tegg-plugin@4.0.0-beta.4@@eggjs/tegg-plugin/lib/EggContextHandler.ts:19:12)
at Function.ContextHandler.runInContextCallback (file:///home/admin/application/node_modules/_@eggjs_tegg-plugin@4.0.0-beta.4@@eggjs/tegg-plugin/lib/EggContextHandler.ts:27:14)
```



#### PR Dependency Tree


* **PR #814** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Improved error handling when package version information is missing,
reducing the chance of runtime errors and providing clearer warning
messages.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-26 09:44:49 +00:00
fengmk2
5b96443cf1 test: fix lint (#813)
#### PR Dependency Tree


* **PR #813** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
  - Updated linting configuration to explicitly allow import extensions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-20 07:50:18 +00:00
fengmk2
e4cd535486 chore: enable auto merge 2025-06-20 15:32:41 +08:00
semantic-release-bot
5b98c9dd2b Release 4.7.2
[skip ci]

## [4.7.2](https://github.com/cnpm/cnpmcore/compare/v4.7.1...v4.7.2) (2025-06-18)

### Bug Fixes

* npm stream descending ([#812](https://github.com/cnpm/cnpmcore/issues/812)) ([e932624](e932624c6f))
v4.7.2
2025-06-18 09:19:28 +00:00