From e47fd5aaefb5452fd06e4a76b847110a13832456 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 Jan 2025 21:45:18 -0800 Subject: [PATCH 1/3] chore(deps): update tests (major) (#826) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | OpenSSF | |---|---|---|---|---| | [chai](http://chaijs.com) ([source](https://redirect.github.com/chaijs/chai)) | devDependencies | major | [`4.5.0` -> `5.1.2`](https://renovatebot.com/diffs/npm/chai/4.5.0/5.1.2) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/chaijs/chai/badge)](https://securityscorecards.dev/viewer/?uri=github.com/chaijs/chai) | | [sinon](https://sinonjs.org/) ([source](https://redirect.github.com/sinonjs/sinon)) | devDependencies | major | [`17.0.2` -> `19.0.2`](https://renovatebot.com/diffs/npm/sinon/17.0.2/19.0.2) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/sinonjs/sinon/badge)](https://securityscorecards.dev/viewer/?uri=github.com/sinonjs/sinon) | --- ### Release Notes
chaijs/chai (chai) ### [`v5.1.2`](https://redirect.github.com/chaijs/chai/releases/tag/v5.1.2) [Compare Source](https://redirect.github.com/chaijs/chai/compare/v5.1.1...v5.1.2) #### What's Changed - Fix secret name in publish action by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1614](https://redirect.github.com/chaijs/chai/pull/1614) - Publish npm packages with provenance by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1615](https://redirect.github.com/chaijs/chai/pull/1615) - build(deps-dev): bump braces from 3.0.2 to 3.0.3 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/chaijs/chai/pull/1625](https://redirect.github.com/chaijs/chai/pull/1625) - chore: bump loupe and deep-eql by [@​43081j](https://redirect.github.com/43081j) in [https://github.com/chaijs/chai/pull/1635](https://redirect.github.com/chaijs/chai/pull/1635) - build(deps-dev): bump [@​75lb/deep-merge](https://redirect.github.com/75lb/deep-merge) from 1.1.1 to 1.1.2 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/chaijs/chai/pull/1636](https://redirect.github.com/chaijs/chai/pull/1636) - build(deps): bump rollup from 4.9.1 to 4.22.4 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/chaijs/chai/pull/1637](https://redirect.github.com/chaijs/chai/pull/1637) - chore: update deep dependencies by [@​43081j](https://redirect.github.com/43081j) in [https://github.com/chaijs/chai/pull/1641](https://redirect.github.com/chaijs/chai/pull/1641) - chore: upgrade loupe by [@​43081j](https://redirect.github.com/43081j) in [https://github.com/chaijs/chai/pull/1646](https://redirect.github.com/chaijs/chai/pull/1646) - Support big int in approximently by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1606](https://redirect.github.com/chaijs/chai/pull/1606) **Full Changelog**: https://github.com/chaijs/chai/compare/v5.1.1...v5.1.2 ### [`v5.1.1`](https://redirect.github.com/chaijs/chai/releases/tag/v5.1.1) [Compare Source](https://redirect.github.com/chaijs/chai/compare/v5.1.0...v5.1.1) #### What's Changed - Set up ESLint for JSDoc comments by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1605](https://redirect.github.com/chaijs/chai/pull/1605) - build(deps-dev): bump ip from 1.1.8 to 1.1.9 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/chaijs/chai/pull/1608](https://redirect.github.com/chaijs/chai/pull/1608) - Correct Mocha import instructions by [@​MattiSG](https://redirect.github.com/MattiSG) in [https://github.com/chaijs/chai/pull/1611](https://redirect.github.com/chaijs/chai/pull/1611) - fix: support some virtual contexts in `toThrow` by [@​43081j](https://redirect.github.com/43081j) in [https://github.com/chaijs/chai/pull/1609](https://redirect.github.com/chaijs/chai/pull/1609) #### New Contributors - [@​MattiSG](https://redirect.github.com/MattiSG) made their first contribution in [https://github.com/chaijs/chai/pull/1611](https://redirect.github.com/chaijs/chai/pull/1611) **Full Changelog**: https://github.com/chaijs/chai/compare/v5.1.0...v5.1.1 ### [`v5.1.0`](https://redirect.github.com/chaijs/chai/releases/tag/v5.1.0) [Compare Source](https://redirect.github.com/chaijs/chai/compare/v5.0.3...v5.1.0) #### What's Changed - Remove useless guards and add parentheses to constuctors by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1593](https://redirect.github.com/chaijs/chai/pull/1593) - Cleanup jsdoc comments by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1596](https://redirect.github.com/chaijs/chai/pull/1596) - Convert comments in "legal comments" format to jsdoc or normal comments by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1598](https://redirect.github.com/chaijs/chai/pull/1598) - Implement `iterable` assertion by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1592](https://redirect.github.com/chaijs/chai/pull/1592) - Assert interface fix by [@​developer-bandi](https://redirect.github.com/developer-bandi) in [https://github.com/chaijs/chai/pull/1601](https://redirect.github.com/chaijs/chai/pull/1601) - Set support in same members by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1583](https://redirect.github.com/chaijs/chai/pull/1583) - Fix publish script by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1602](https://redirect.github.com/chaijs/chai/pull/1602) #### New Contributors - [@​developer-bandi](https://redirect.github.com/developer-bandi) made their first contribution in [https://github.com/chaijs/chai/pull/1601](https://redirect.github.com/chaijs/chai/pull/1601) **Full Changelog**: https://github.com/chaijs/chai/compare/v5.0.3...v5.1.0 ### [`v5.0.3`](https://redirect.github.com/chaijs/chai/releases/tag/v5.0.3) [Compare Source](https://redirect.github.com/chaijs/chai/compare/v5.0.2...v5.0.3) Fix bad v5.0.2 publish. **Full Changelog**: https://github.com/chaijs/chai/compare/v5.0.2...v5.0.3 ### [`v5.0.2`](https://redirect.github.com/chaijs/chai/releases/tag/v5.0.2) [Compare Source](https://redirect.github.com/chaijs/chai/compare/v5.0.0...v5.0.2) #### What's Changed - build(deps): bump nanoid and mocha by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/chaijs/chai/pull/1558](https://redirect.github.com/chaijs/chai/pull/1558) - remove `bump-cli` by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1559](https://redirect.github.com/chaijs/chai/pull/1559) - Update developer dependencies by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1560](https://redirect.github.com/chaijs/chai/pull/1560) - fix: removes `??` for node compat (5.x) by [@​43081j](https://redirect.github.com/43081j) in [https://github.com/chaijs/chai/pull/1576](https://redirect.github.com/chaijs/chai/pull/1576) - Update `loupe` to latest version by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1579](https://redirect.github.com/chaijs/chai/pull/1579) - Re-enable some webkit tests by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1580](https://redirect.github.com/chaijs/chai/pull/1580) - Remove a bunch of if statements in test/should.js by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1581](https://redirect.github.com/chaijs/chai/pull/1581) - Remove a bunch of unused files by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1582](https://redirect.github.com/chaijs/chai/pull/1582) - Fix 1564 by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1566](https://redirect.github.com/chaijs/chai/pull/1566) **Full Changelog**: https://github.com/chaijs/chai/compare/v5.0.1...v5.0.2 ### [`v5.0.0`](https://redirect.github.com/chaijs/chai/releases/tag/v5.0.0) [Compare Source](https://redirect.github.com/chaijs/chai/compare/v4.5.0...v5.0.0) #### BREAKING CHANGES - Chai now only supports EcmaScript Modules (ESM). This means your tests will need to either have `import {...} from 'chai'` or `import('chai')`. `require('chai')` will cause failures in nodejs. If you're using ESM and seeing failures, it may be due to a bundler or transpiler which is incorrectly converting import statements into require calls. - Dropped support for Internet Explorer. - Dropped support for NodeJS < 18. - Minimum supported browsers are now Firefox 100, Safari 14.1, Chrome 100, Edge 100. Support for browsers prior to these versions is "best effort" (bug reports on older browsers will be assessed individually and may be marked as wontfix). #### What's Changed - feat: use chaijs/loupe for inspection by [@​pcorpet](https://redirect.github.com/pcorpet) in [https://github.com/chaijs/chai/pull/1401](https://redirect.github.com/chaijs/chai/pull/1401) - docs: fix URL in README by [@​Izzur](https://redirect.github.com/Izzur) in [https://github.com/chaijs/chai/pull/1413](https://redirect.github.com/chaijs/chai/pull/1413) - Remove `get-func-name` dependency by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1416](https://redirect.github.com/chaijs/chai/pull/1416) - Convert Makefile script to npm scripts by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1424](https://redirect.github.com/chaijs/chai/pull/1424) - Clean up README badges by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1422](https://redirect.github.com/chaijs/chai/pull/1422) - fix: package.json - deprecation warning on exports field by [@​stevenjoezhang](https://redirect.github.com/stevenjoezhang) in [https://github.com/chaijs/chai/pull/1400](https://redirect.github.com/chaijs/chai/pull/1400) - fix: deep-eql bump package to support symbols by [@​snewcomer](https://redirect.github.com/snewcomer) in [https://github.com/chaijs/chai/pull/1458](https://redirect.github.com/chaijs/chai/pull/1458) - ES module conversion PoC by [@​43081j](https://redirect.github.com/43081j) in [https://github.com/chaijs/chai/pull/1498](https://redirect.github.com/chaijs/chai/pull/1498) - chore: drop commonjs support by [@​43081j](https://redirect.github.com/43081j) in [https://github.com/chaijs/chai/pull/1503](https://redirect.github.com/chaijs/chai/pull/1503) - Update pathval by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1527](https://redirect.github.com/chaijs/chai/pull/1527) - Update check-error by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1528](https://redirect.github.com/chaijs/chai/pull/1528) - update `deep-eql` to latest version by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1542](https://redirect.github.com/chaijs/chai/pull/1542) - Inline `type-detect` as a simple function by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1544](https://redirect.github.com/chaijs/chai/pull/1544) - Update loupe by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1545](https://redirect.github.com/chaijs/chai/pull/1545) - Typo 'Test an object' not 'Test and object' by [@​mavaddat](https://redirect.github.com/mavaddat) in [https://github.com/chaijs/chai/pull/1460](https://redirect.github.com/chaijs/chai/pull/1460) - Update `assertion-error` to it's latest major version! by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1543](https://redirect.github.com/chaijs/chai/pull/1543) - Replacing Karma with Web Test Runner by [@​koddsson](https://redirect.github.com/koddsson) in [https://github.com/chaijs/chai/pull/1546](https://redirect.github.com/chaijs/chai/pull/1546) #### New Contributors - [@​Izzur](https://redirect.github.com/Izzur) made their first contribution in [https://github.com/chaijs/chai/pull/1413](https://redirect.github.com/chaijs/chai/pull/1413) - [@​stevenjoezhang](https://redirect.github.com/stevenjoezhang) made their first contribution in [https://github.com/chaijs/chai/pull/1400](https://redirect.github.com/chaijs/chai/pull/1400) - [@​43081j](https://redirect.github.com/43081j) made their first contribution in [https://github.com/chaijs/chai/pull/1498](https://redirect.github.com/chaijs/chai/pull/1498) **Full Changelog**: https://github.com/chaijs/chai/compare/4.3.1...v5.0.0
sinonjs/sinon (sinon) ### [`v19.0.2`](https://redirect.github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1902) [Compare Source](https://redirect.github.com/sinonjs/sinon/compare/v19.0.1...v19.0.2) - [`4eb4c4bc`](https://redirect.github.com/sinonjs/sinon/commit/4eb4c4bc0266d90d1624e5067029599ed57f7fb2) Use fix 13.0.2 version of fake-timers to get Date to pass instanceof checks (Carl-Erik Kopseng) - [`a5b03db3`](https://redirect.github.com/sinonjs/sinon/commit/a5b03db3af8948fe57c9f6818d7ae51fdef7ab52) Add links to code that is affected by the breaking changes (Carl-Erik Kopseng) *Released by [Carl-Erik Kopseng](https://redirect.github.com/fatso83) on 2024-09-13.* ### [`v19.0.1`](https://redirect.github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1901) [Compare Source](https://redirect.github.com/sinonjs/sinon/compare/v19.0.0...v19.0.1) - [`037ec2d2`](https://redirect.github.com/sinonjs/sinon/commit/037ec2d2a995fb1f84f7b63ed00e632316648612) Update migration docs (Carl-Erik Kopseng) *Released by [Carl-Erik Kopseng](https://redirect.github.com/fatso83) on 2024-09-13.* ### [`v19.0.0`](https://redirect.github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1900) [Compare Source](https://redirect.github.com/sinonjs/sinon/compare/v18.0.1...v19.0.0) - [`3534ab4f`](https://redirect.github.com/sinonjs/sinon/commit/3534ab4fb02803173d9ca34f6020c3701d82abc9) Bump samsam and nise to latest versions ([#​2617](https://redirect.github.com/sinonjs/sinon/issues/2617)) (Carl-Erik Kopseng) > Ensures consistency and less breakage when there are "circular" dependencies. - [`912c568d`](https://redirect.github.com/sinonjs/sinon/commit/912c568d3038dc0bea0e8a7b25e4298087c7c99c) upgrade fake timers and others ([#​2612](https://redirect.github.com/sinonjs/sinon/issues/2612)) (Carl-Erik Kopseng) > - Upgrade dependencies (includes breaking API in Fake Timers) > - fake-timers: no longer creating dates using the original Date class, but a subclass (proxy) - [`9715798e`](https://redirect.github.com/sinonjs/sinon/commit/9715798e30e59b110a1349cd0bd087b0fa5f9af2) Use newer @​mochify/\* packages ([#​2609](https://redirect.github.com/sinonjs/sinon/issues/2609)) (Carl-Erik Kopseng) > Co-authored-by: Maximilian Antoni *Released by [Carl-Erik Kopseng](https://redirect.github.com/fatso83) on 2024-09-13.* ### [`v18.0.1`](https://redirect.github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1801) [Compare Source](https://redirect.github.com/sinonjs/sinon/compare/v18.0.0...v18.0.1) Basically a patch release to update a transitive dependency in Nise. - [`03e33ec6`](https://redirect.github.com/sinonjs/sinon/commit/03e33ec6475d7e7acfe62676af63eb2344cd6db0) Pin fake-timers@11.2.2 to avoid breaking change (Carl-Erik Kopseng) - [`5a7924ad`](https://redirect.github.com/sinonjs/sinon/commit/5a7924ad94f37b9985899fc8a1dbfd29cbdd7967) Add createStubInstance header in stubs.md (Daniel Kaplan) - [`ad6804cd`](https://redirect.github.com/sinonjs/sinon/commit/ad6804cd4143eaaaa8f989dae20dbf7295444893) Bump elliptic from 6.5.5 to 6.5.7 ([#​2608](https://redirect.github.com/sinonjs/sinon/issues/2608)) (dependabot\[bot]) - [`033287bd`](https://redirect.github.com/sinonjs/sinon/commit/033287bded8dfce16653b33292ef2fef9ed487b0) Bump path-to-regexp and nise ([#​2611](https://redirect.github.com/sinonjs/sinon/issues/2611)) (dependabot\[bot]) > Bumps [path-to-regexp](https://redirect.github.com/pillarjs/path-to-regexp) to 8.1.0 and updates ancestor dependency [nise](https://redirect.github.com/sinonjs/nise). These dependencies need to be updated together. > > Updates `path-to-regexp` from 6.2.2 to 8.1.0 > > - [Release notes](https://redirect.github.com/pillarjs/path-to-regexp/releases) > - [Changelog](https://redirect.github.com/pillarjs/path-to-regexp/blob/master/History.md) > - [Commits](https://redirect.github.com/pillarjs/path-to-regexp/compare/v6.2.2...v8.1.0) > > Updates `nise` from 6.0.0 to 6.0.1 > > - [Changelog](https://redirect.github.com/sinonjs/nise/blob/main/History.md) > - [Commits](https://redirect.github.com/sinonjs/nise/commits) > > *** > > updated-dependencies: > > - dependency-name: path-to-regexp > > dependency-type: indirect > > - dependency-name: nise > > dependency-type: direct:production > > ... > > Signed-off-by: dependabot\[bot] > > Co-authored-by: dependabot\[bot] <49699333+dependabot\[bot][@​users](https://redirect.github.com/users).noreply.github.com> - [`0c609f95`](https://redirect.github.com/sinonjs/sinon/commit/0c609f95b1f4f18e02896b5a87bbc59f5787093e) re-add testing of esm browser builds (Carl-Erik Kopseng) > It seems unclear why it was removed in the first place: I have tested extensively that it > does work and it does fail the build if changing any assertion in the script - [`da4230a0`](https://redirect.github.com/sinonjs/sinon/commit/da4230a00c929f56738d272da469a5ecb9d40da7) Bump braces from 3.0.2 to 3.0.3 ([#​2605](https://redirect.github.com/sinonjs/sinon/issues/2605)) (dependabot\[bot]) > Bumps [braces](https://redirect.github.com/micromatch/braces) from 3.0.2 to 3.0.3. > > - [Changelog](https://redirect.github.com/micromatch/braces/blob/master/CHANGELOG.md) > - [Commits](https://redirect.github.com/micromatch/braces/compare/3.0.2...3.0.3) > > *** > > updated-dependencies: > > - dependency-name: braces > > dependency-type: indirect > > ... > > Signed-off-by: dependabot\[bot] > > Co-authored-by: dependabot\[bot] <49699333+dependabot\[bot][@​users](https://redirect.github.com/users).noreply.github.com> - [`02542370`](https://redirect.github.com/sinonjs/sinon/commit/02542370a4d92ef12270638f97db29ca4f1cca66) feat(ci): add node v22 ([#​2600](https://redirect.github.com/sinonjs/sinon/issues/2600)) (Rotzbua) - [`794cb81a`](https://redirect.github.com/sinonjs/sinon/commit/794cb81a3bf639c8fb0880f4509a5a1a42066b6e) fix(tests): typo ([#​2603](https://redirect.github.com/sinonjs/sinon/issues/2603)) (Rotzbua) - [`1eb2a254`](https://redirect.github.com/sinonjs/sinon/commit/1eb2a25486564ff6b834cfe0a62329dd8bd455fe) Use NodeJS 22.2.0 as base development version (Carl-Erik Kopseng) - [`1aa713fd`](https://redirect.github.com/sinonjs/sinon/commit/1aa713fd413e1b34645fddff1871da99c6d263f8) Bump rexml from 3.2.5 to 3.2.8 ([#​2599](https://redirect.github.com/sinonjs/sinon/issues/2599)) (dependabot\[bot]) > Bumps [rexml](https://redirect.github.com/ruby/rexml) from 3.2.5 to 3.2.8. > > > - [Release notes](https://redirect.github.com/ruby/rexml/releases) > > - [Changelog](https://redirect.github.com/ruby/rexml/blob/master/NEWS.md) > > - [Commits](https://redirect.github.com/ruby/rexml/compare/v3.2.5...v3.2.8) > > > \--- > > updated-dependencies: > > - dependency-name: rexml > > dependency-type: indirect > > ... > > > Signed-off-by: dependabot\[bot] > > Co-authored-by: dependabot\[bot] <49699333+dependabot\[bot][@​users](https://redirect.github.com/users).noreply.github.com> *Released by [Carl-Erik Kopseng](https://redirect.github.com/fatso83) on 2024-09-10.* ### [`v18.0.0`](https://redirect.github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1800) [Compare Source](https://redirect.github.com/sinonjs/sinon/compare/v17.0.2...v18.0.0) This is what 17.0.2 should have been, as that contained two breaking changes. After updating Nise we are down to one breaking change, which only affects sinon-test (which has been updated), so most people are not affected. The legacyRoutes flag that is currently enabled in Nise by default will at some later version be disabled. We will then issue a little migration note. - [`01d45312`](https://redirect.github.com/sinonjs/sinon/commit/01d45312e82bbd0b2f435f16bd4a834b98d08e11) Use Nise 6 with legacyRoutes flag enabled (Carl-Erik Kopseng) > This should be disabled in a future Sinon version by default. - [`c618edc5`](https://redirect.github.com/sinonjs/sinon/commit/c618edc51e0302f047914e121cb788ac9cc43382) fix [#​2594](https://redirect.github.com/sinonjs/sinon/issues/2594): remove needless sandbox creation (Carl-Erik Kopseng) *Released by [Carl-Erik Kopseng](https://redirect.github.com/fatso83) on 2024-05-15.*
--- ### Configuration πŸ“… **Schedule**: Branch creation - "before 5am every weekday,every weekend" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ‘» **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] 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/kelektiv/node-cron). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 151 +++++++++++++++++++--------------------------- package.json | 4 +- 2 files changed, 63 insertions(+), 92 deletions(-) diff --git a/package-lock.json b/package-lock.json index bc3dd959..5d62297f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "@types/jest": "29.5.14", "@types/node": "20.17.11", "@types/sinon": "17.0.3", - "chai": "4.5.0", + "chai": "5.1.2", "eslint": "8.57.1", "eslint-config-prettier": "9.1.0", "eslint-plugin-jest": "27.9.0", @@ -37,7 +37,7 @@ "lint-staged": "15.3.0", "prettier": "3.4.2", "semantic-release": "24.2.1", - "sinon": "17.0.2", + "sinon": "19.0.2", "ts-jest": "29.2.5", "typescript": "5.7.2", "typescript-eslint": "7.18.0" @@ -3641,13 +3641,13 @@ } }, "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">=12" } }, "node_modules/async": { @@ -3976,32 +3976,20 @@ "license": "CC-BY-4.0" }, "node_modules/chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz", + "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==", "dev": true, "license": "MIT", "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/chai/node_modules/type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "node": ">=12" } }, "node_modules/chalk": { @@ -4028,16 +4016,13 @@ } }, "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.2" - }, "engines": { - "node": "*" + "node": ">= 16" } }, "node_modules/ci-info": { @@ -4778,14 +4763,11 @@ } }, "node_modules/deep-eql": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, "license": "MIT", - "dependencies": { - "type-detect": "^4.0.0" - }, "engines": { "node": ">=6" } @@ -4828,9 +4810,9 @@ } }, "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -5975,16 +5957,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", @@ -8565,14 +8537,11 @@ } }, "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", + "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", "dev": true, - "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.1" - } + "license": "MIT" }, "node_modules/lru-cache": { "version": "5.1.1", @@ -8824,23 +8793,23 @@ "license": "MIT" }, "node_modules/nise": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", - "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/nise/-/nise-6.1.1.tgz", + "integrity": "sha512-aMSAzLVY7LyeM60gvBS423nBmIPP+Wy7St7hsb+8/fc1HmeoHJfLO8CKse4u3BtOZvQLJghYPI2i/1WZrEj5/g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/text-encoding": "^0.7.2", + "@sinonjs/commons": "^3.0.1", + "@sinonjs/fake-timers": "^13.0.1", + "@sinonjs/text-encoding": "^0.7.3", "just-extend": "^6.2.0", - "path-to-regexp": "^6.2.1" + "path-to-regexp": "^8.1.0" } }, "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz", - "integrity": "sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==", + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -11983,11 +11952,14 @@ "license": "MIT" }, "node_modules/path-to-regexp": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=16" + } }, "node_modules/path-type": { "version": "4.0.0", @@ -12000,13 +11972,13 @@ } }, "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">= 14.16" } }, "node_modules/picocolors": { @@ -13198,19 +13170,18 @@ } }, "node_modules/sinon": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.2.tgz", - "integrity": "sha512-uihLiaB9FhzesElPDFZA7hDcNABzsVHwr3YfmM9sBllVwab3l0ltGlRV1XhpNfIacNDLGD1QRZNLs5nU5+hTuA==", - "deprecated": "There", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-19.0.2.tgz", + "integrity": "sha512-euuToqM+PjO4UgXeLETsfQiuoyPXlqFezr6YZDFwHR3t4qaX0fZUe1MfPMznTL5f8BWrVS89KduLdMUsxFCO6g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.1", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.2.0", - "nise": "^5.1.9", - "supports-color": "^7" + "@sinonjs/fake-timers": "^13.0.2", + "@sinonjs/samsam": "^8.0.1", + "diff": "^7.0.0", + "nise": "^6.1.1", + "supports-color": "^7.2.0" }, "funding": { "type": "opencollective", @@ -13218,9 +13189,9 @@ } }, "node_modules/sinon/node_modules/@sinonjs/fake-timers": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz", - "integrity": "sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==", + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { diff --git a/package.json b/package.json index 1f3df915..e7cbcd30 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@types/jest": "29.5.14", "@types/node": "20.17.11", "@types/sinon": "17.0.3", - "chai": "4.5.0", + "chai": "5.1.2", "eslint": "8.57.1", "eslint-config-prettier": "9.1.0", "eslint-plugin-jest": "27.9.0", @@ -52,7 +52,7 @@ "lint-staged": "15.3.0", "prettier": "3.4.2", "semantic-release": "24.2.1", - "sinon": "17.0.2", + "sinon": "19.0.2", "ts-jest": "29.2.5", "typescript": "5.7.2", "typescript-eslint": "7.18.0" From 0d3161ff7831752edade0333e4ae9ce70e50ac0b Mon Sep 17 00:00:00 2001 From: JosephVoid Date: Thu, 9 Jan 2025 10:26:38 +0300 Subject: [PATCH 2/3] feat: error handling on ticks (#861) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description I've added an error handling method in the `CronJob` class and added it to the constructors parameters. This error handling method will be called if any exception is thrown from the `onTick` method. Also added two new tests to confirm that it works. ## Related Issue Closes #426. ## Motivation and Context If any kind of exception occurs from the `onTick` method the whole process stops currently. To solve this, this feature will allow users to pass their own error handler when exceptions occur. ## How Has This Been Tested? Added two new test cases called `should catch errors if errorhandler is provided` & `should throw errors if errorhandler is NOT provided` ## Screenshots (if appropriate): ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) ## Checklist: - [x] My code follows the code style of this project. - [x] My change requires a change to the documentation. - [x] I have updated the documentation accordingly. - [x] I have added tests to cover my changes. - [x] All new and existing tests passed. - [ ] If my change introduces a breaking change, I have added a `!` after the type/scope in the title (see the Conventional Commits standard). --------- Co-authored-by: Pierre Cavin Co-authored-by: Brandon der BlΓ€tter --- README.md | 2 ++ src/job.ts | 24 +++++++++++++++++------- src/types/cron.types.ts | 1 + tests/cron.test.ts | 38 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 58 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 21b395a2..30a0b3df 100644 --- a/README.md +++ b/README.md @@ -196,6 +196,8 @@ day of week 0-7 (0 or 7 is Sunday, or use names) - `waitForCompletion`: [OPTIONAL] - If `true`, no additional instances of the `onTick` callback function will run until the current onTick callback has completed. Any new scheduled executions that occur while the current callback is running will be skipped entirely. Default is `false`. +- `errorHandler`: [OPTIONAL] - Function to handle any exceptions that occur in the `onTick` method. + #### Methods - `from` (static): Create a new CronJob object providing arguments as an object. See argument names and descriptions above. diff --git a/src/job.ts b/src/job.ts index f051d1ac..730d926d 100644 --- a/src/job.ts +++ b/src/job.ts @@ -22,6 +22,7 @@ export class CronJob { ? CronOnCompleteCallback : undefined; waitForCompletion = false; + errorHandler?: CronJobParams['errorHandler']; private _isCallbackRunning = false; private _timeout?: NodeJS.Timeout; @@ -41,7 +42,8 @@ export class CronJob { runOnInit?: CronJobParams['runOnInit'], utcOffset?: null, unrefTimeout?: CronJobParams['unrefTimeout'], - waitForCompletion?: CronJobParams['waitForCompletion'] + waitForCompletion?: CronJobParams['waitForCompletion'], + errorHandler?: CronJobParams['errorHandler'] ); constructor( cronTime: CronJobParams['cronTime'], @@ -53,7 +55,8 @@ export class CronJob { runOnInit?: CronJobParams['runOnInit'], utcOffset?: CronJobParams['utcOffset'], unrefTimeout?: CronJobParams['unrefTimeout'], - waitForCompletion?: CronJobParams['waitForCompletion'] + waitForCompletion?: CronJobParams['waitForCompletion'], + errorHandler?: CronJobParams['errorHandler'] ); constructor( cronTime: CronJobParams['cronTime'], @@ -65,11 +68,14 @@ export class CronJob { runOnInit?: CronJobParams['runOnInit'], utcOffset?: CronJobParams['utcOffset'], unrefTimeout?: CronJobParams['unrefTimeout'], - waitForCompletion?: CronJobParams['waitForCompletion'] + waitForCompletion?: CronJobParams['waitForCompletion'], + errorHandler?: CronJobParams['errorHandler'] ) { this.context = (context ?? this) as CronContext; this.waitForCompletion = Boolean(waitForCompletion); + this.errorHandler = errorHandler; + // runtime check for JS users if (timeZone != null && utcOffset != null) { throw new ExclusiveParametersError('timeZone', 'utcOffset'); @@ -128,7 +134,8 @@ export class CronJob { params.runOnInit, params.utcOffset, params.unrefTimeout, - params.waitForCompletion + params.waitForCompletion, + params.errorHandler ); } else if (params.utcOffset != null) { return new CronJob( @@ -141,7 +148,8 @@ export class CronJob { params.runOnInit, params.utcOffset, params.unrefTimeout, - params.waitForCompletion + params.waitForCompletion, + params.errorHandler ); } else { return new CronJob( @@ -154,7 +162,8 @@ export class CronJob { params.runOnInit, params.utcOffset, params.unrefTimeout, - params.waitForCompletion + params.waitForCompletion, + params.errorHandler ); } } @@ -224,7 +233,8 @@ export class CronJob { if (this.waitForCompletion) await result; } } catch (error) { - console.error('[Cron] error in callback', error); + if (this.errorHandler != null) this.errorHandler(error); + else console.error('[Cron] error in callback', error); } finally { this._isCallbackRunning = false; } diff --git a/src/types/cron.types.ts b/src/types/cron.types.ts index 4df8f09f..dda5b34e 100644 --- a/src/types/cron.types.ts +++ b/src/types/cron.types.ts @@ -16,6 +16,7 @@ interface BaseCronJobParams< runOnInit?: boolean | null; unrefTimeout?: boolean | null; waitForCompletion?: boolean | null; + errorHandler?: ((error: unknown) => void) | null; } export type CronJobParams< diff --git a/tests/cron.test.ts b/tests/cron.test.ts index be722241..45729483 100644 --- a/tests/cron.test.ts +++ b/tests/cron.test.ts @@ -1151,6 +1151,44 @@ describe('cron', () => { expect(callback).toHaveBeenCalledTimes(1); }); + it('should catch errors every time, if errorHandler is provided', () => { + const clock = sinon.useFakeTimers(); + const errorFunc = jest.fn().mockImplementation(() => { + throw Error('Exception'); + }); + const handlerFunc = jest.fn(); + const job = CronJob.from({ + cronTime: '* * * * * *', + onTick: errorFunc, + errorHandler: handlerFunc, + start: true + }); + clock.tick(1000); + expect(errorFunc).toHaveBeenCalledTimes(1); + expect(handlerFunc).toHaveBeenCalledTimes(1); + expect(handlerFunc).toHaveBeenLastCalledWith(new Error('Exception')); + clock.tick(1000); + expect(errorFunc).toHaveBeenCalledTimes(2); + expect(handlerFunc).toHaveBeenCalledTimes(2); + expect(handlerFunc).toHaveBeenLastCalledWith(new Error('Exception')); + + job.stop(); + clock.restore(); + }); + + it('should log errors if errorHandler is NOT provided', () => { + const errorFunc = jest.fn().mockImplementation(() => { + throw Error('Exception'); + }); + console.error = jest.fn(); + CronJob.from({ + cronTime: '* * * * * *', + onTick: errorFunc, + runOnInit: true + }); + expect(console.error).toHaveBeenCalled(); + }); + describe('waitForCompletion and job status tracking', () => { it('should wait for async job completion when waitForCompletion is true', async () => { const clock = sinon.useFakeTimers(); From c5327d13de659c21f7bd46906b2070f1727da512 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 9 Jan 2025 07:31:40 +0000 Subject: [PATCH 3/3] Release v3.4.0 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## [3.4.0](https://github.com/kelektiv/node-cron/compare/v3.3.2...v3.4.0) (2025-01-09) ### ✨ Features * error handling on ticks ([#861](https://github.com/kelektiv/node-cron/issues/861)) ([0d3161f](https://github.com/kelektiv/node-cron/commit/0d3161ff7831752edade0333e4ae9ce70e50ac0b)), closes [#426](https://github.com/kelektiv/node-cron/issues/426) ### πŸ“š Documentation * **contributing:** add "Submitting a Pull Request" & "Coding Rules" sections ([#936](https://github.com/kelektiv/node-cron/issues/936)) ([ddd8988](https://github.com/kelektiv/node-cron/commit/ddd89881bcb2f3737e1ea50296fe25294d112bdd)) ### ♻️ Chores * **deps:** lock file maintenance ([494b4bf](https://github.com/kelektiv/node-cron/commit/494b4bf5d61ba2b4d57e7b46cd433bcb4577d525)) * **deps:** update dependency [@types](https://github.com/types)/node to v20.17.11 ([2978e92](https://github.com/kelektiv/node-cron/commit/2978e92ba1a26dfe8de7eb6c1ee4b3847cf18279)) * **deps:** update dependency lint-staged to v15.3.0 ([11f9bad](https://github.com/kelektiv/node-cron/commit/11f9badb761d06cd74a543116854094559acb813)) * **deps:** update semantic-release related packages ([b830bdb](https://github.com/kelektiv/node-cron/commit/b830bdb41df2ebc48d3510ffd71f3d59255eaf11)) * **deps:** update tests (major) ([#826](https://github.com/kelektiv/node-cron/issues/826)) ([e47fd5a](https://github.com/kelektiv/node-cron/commit/e47fd5aaefb5452fd06e4a76b847110a13832456)) --- CHANGELOG.md | 18 ++++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba0a6c9e..df62e09b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +## [3.4.0](https://github.com/kelektiv/node-cron/compare/v3.3.2...v3.4.0) (2025-01-09) + +### ✨ Features + +* error handling on ticks ([#861](https://github.com/kelektiv/node-cron/issues/861)) ([0d3161f](https://github.com/kelektiv/node-cron/commit/0d3161ff7831752edade0333e4ae9ce70e50ac0b)), closes [#426](https://github.com/kelektiv/node-cron/issues/426) + +### πŸ“š Documentation + +* **contributing:** add "Submitting a Pull Request" & "Coding Rules" sections ([#936](https://github.com/kelektiv/node-cron/issues/936)) ([ddd8988](https://github.com/kelektiv/node-cron/commit/ddd89881bcb2f3737e1ea50296fe25294d112bdd)) + +### ♻️ Chores + +* **deps:** lock file maintenance ([494b4bf](https://github.com/kelektiv/node-cron/commit/494b4bf5d61ba2b4d57e7b46cd433bcb4577d525)) +* **deps:** update dependency [@types](https://github.com/types)/node to v20.17.11 ([2978e92](https://github.com/kelektiv/node-cron/commit/2978e92ba1a26dfe8de7eb6c1ee4b3847cf18279)) +* **deps:** update dependency lint-staged to v15.3.0 ([11f9bad](https://github.com/kelektiv/node-cron/commit/11f9badb761d06cd74a543116854094559acb813)) +* **deps:** update semantic-release related packages ([b830bdb](https://github.com/kelektiv/node-cron/commit/b830bdb41df2ebc48d3510ffd71f3d59255eaf11)) +* **deps:** update tests (major) ([#826](https://github.com/kelektiv/node-cron/issues/826)) ([e47fd5a](https://github.com/kelektiv/node-cron/commit/e47fd5aaefb5452fd06e4a76b847110a13832456)) + ## [3.3.2](https://github.com/kelektiv/node-cron/compare/v3.3.1...v3.3.2) (2024-12-30) ### πŸ› Bug Fixes diff --git a/package-lock.json b/package-lock.json index 5d62297f..cce159f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cron", - "version": "3.3.2", + "version": "3.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cron", - "version": "3.3.2", + "version": "3.4.0", "license": "MIT", "dependencies": { "@types/luxon": "~3.4.0", diff --git a/package.json b/package.json index e7cbcd30..ced7f954 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "cron", "description": "Cron jobs for your node", - "version": "3.3.2", + "version": "3.4.0", "author": "Nick Campbell (https://github.com/ncb000gt)", "bugs": { "url": "https://github.com/kelektiv/node-cron/issues"