Compare commits

...

83 commits

Author SHA1 Message Date
Ethan Lane 41195de16a v2.2.0
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2024-04-22 19:46:56 +01:00
Ethan Lane f6b0d26581 Use token 2024-04-22 19:46:18 +01:00
Ethan Lane e5e19b5f3d Revert "v2.2.0"
This reverts commit a60b331d99.
2024-04-22 19:46:10 +01:00
Ethan Lane a60b331d99 v2.2.0
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/tag/woodpecker Pipeline was successful
2024-04-22 19:42:24 +01:00
Ethan Lane a4ae8f32c7 Update to use master branch 2024-04-22 19:41:46 +01:00
Ethan Lane 001a173d2e Revert "v2.2.0"
This reverts commit 5ada905a4d.
2024-04-22 19:41:35 +01:00
Ethan Lane 5ada905a4d v2.2.0
Some checks failed
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline failed
2024-04-22 19:37:19 +01:00
Ethan Lane ed613b4dc2 Update woodpecker to allow publish on main 2024-04-22 19:36:39 +01:00
Ethan Lane ab718d9486 Revert "v2.2.0"
This reverts commit c600385fab.
2024-04-22 19:36:08 +01:00
Ethan Lane c600385fab v2.2.0
Some checks failed
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline failed
2024-04-22 19:33:07 +01:00
Ethan Lane 5614fea718 Update rsync ip
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-04-19 18:34:25 +01:00
Ethan Lane 8d7624e263 Update documentation to mention about the binary files (#167)
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Add to the CLI documentation the mention about the binary releases
- Mentioned about the fact you can't use macOS arm64 builds yet due to a bug to be fixed later on

#152

## Type of change

Please delete options that are not relevant.

- [x] New feature (non-breaking change which adds functionality)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

# Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/167
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2024-04-19 18:30:12 +01:00
Ethan Lane 6232c8db7f Add ldid utility
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-04-15 18:52:31 +01:00
Ethan Lane 3093ee9e11 Add ldid utility
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-04-15 18:45:34 +01:00
Ethan Lane 2188284507 Add ldid utility
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-04-15 18:42:03 +01:00
RenovateBot fecff96604 Update dependency jest-mock-extended to v3.0.6 (#163)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [jest-mock-extended](https://github.com/marchaos/jest-mock-extended) | devDependencies | patch | [`3.0.5` -> `3.0.6`](https://renovatebot.com/diffs/npm/jest-mock-extended/3.0.5/3.0.6) |

---

### Release Notes

<details>
<summary>marchaos/jest-mock-extended (jest-mock-extended)</summary>

### [`v3.0.6`](https://github.com/marchaos/jest-mock-extended/compare/3.0.5...77a64ae8328904bcc614ead4ba8d0d9e8a658136)

[Compare Source](https://github.com/marchaos/jest-mock-extended/compare/3.0.5...77a64ae8328904bcc614ead4ba8d0d9e8a658136)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/163
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-04-15 18:27:39 +01:00
RenovateBot 13f069baa0 Update dependency typescript to v5.4.5 (#158)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/Microsoft/TypeScript)) | devDependencies | minor | [`5.3.3` -> `5.4.5`](https://renovatebot.com/diffs/npm/typescript/5.3.3/5.4.5) |

---

### Release Notes

<details>
<summary>Microsoft/TypeScript (typescript)</summary>

### [`v5.4.5`](https://github.com/microsoft/TypeScript/releases/tag/v5.4.5): TypeScript 5.4.5

[Compare Source](https://github.com/Microsoft/TypeScript/compare/v5.4.4...v5.4.5)

For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/).

For the complete list of fixed issues, check out the

-   [fixed issues query for Typescript 5.4.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.2 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.3 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.3%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.4 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.4%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.5 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.5%22+is%3Aclosed+).

Downloads are available on:

-   [NuGet package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)

### [`v5.4.4`](https://github.com/microsoft/TypeScript/releases/tag/v5.4.4): TypeScript 5.4.4

[Compare Source](https://github.com/Microsoft/TypeScript/compare/v5.4.3...v5.4.4)

For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/).

For the complete list of fixed issues, check out the

-   [fixed issues query for Typescript 5.4.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.2 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.3 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.3%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.4 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.4%22+is%3Aclosed+).

Downloads are available on:

-   [NuGet package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)

### [`v5.4.3`](https://github.com/microsoft/TypeScript/releases/tag/v5.4.3): TypeScript 5.4.3

[Compare Source](https://github.com/Microsoft/TypeScript/compare/v5.4.2...v5.4.3)

For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/).

For the complete list of fixed issues, check out the

-   [fixed issues query for Typescript 5.4.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.2 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.3 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.3%22+is%3Aclosed+).

Downloads are available on:

-   [NuGet package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)

### [`v5.4.2`](https://github.com/microsoft/TypeScript/releases/tag/v5.4.2): TypeScript 5.4

[Compare Source](https://github.com/Microsoft/TypeScript/compare/v5.3.3...v5.4.2)

For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/).

For the complete list of fixed issues, check out the

-   [fixed issues query for Typescript 5.4.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.2 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+).

Downloads are available on:

-   [NuGet package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/158
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-04-15 18:22:30 +01:00
RenovateBot fe40bdc69b Update dependency @typescript-eslint/eslint-plugin to v7.6.0 (#157)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint)) | devDependencies | minor | [`7.0.2` -> `7.6.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/7.0.2/7.6.0) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v7.6.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#760-2024-04-08)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.5.0...v7.6.0)

##### 🚀 Features

-   bump npm dependency ranges

##### ❤️  Thank You

-   Abraham Guo
-   auvred
-   Brad Zacher

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.5.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#750-2024-04-01)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.4.0...v7.5.0)

##### 🩹 Fixes

-   **eslint-plugin:** \[no-floating-promises] handle TaggedTemplateExpression

-   **eslint-plugin:** \[no-unnecessary-type-assertion] handle exactOptionalPropertyTypes compiler option

##### ❤️  Thank You

-   Brad Zacher
-   Kim Sang Du
-   Mark de Dios
-   Naru
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.4.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#740-2024-03-25)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.3.1...v7.4.0)

##### 🚀 Features

-   **eslint-plugin:** \[consistent-type-imports] ignore files with decorators, experimentalDecorators, and emitDecoratorMetadata

-   **eslint-plugin:** \[no-unnecessary-type-arguments] handle tagged templates

-   **eslint-plugin:** deprecate no-throw-literal and add a renamed only-throw-error

##### 🩹 Fixes

-   **eslint-plugin:** \[prefer-optional-chain] address multipart nullish checks false positive

-   **eslint-plugin:** \[prefer-optional-chain] properly disambiguate between `boolean` and `false`

-   **eslint-plugin:** \[no-unnecessary-type-assertion] avoid remove const casting on template literals with expressions inside

##### ❤️  Thank You

-   Abraham Guo
-   Brad Zacher
-   Josh Goldberg 
-   Kim Sang Du
-   Kirk Waiblinger
-   Marco Pasqualetti
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.3.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#731-2024-03-18)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.3.0...v7.3.1)

##### 🩹 Fixes

-   **eslint-plugin:** \[no-floating-promises] revert disable of ignoreVoid in strict config

##### ❤️  Thank You

-   Josh Goldberg 

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.3.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#730-2024-03-18)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.2.0...v7.3.0)

##### 🚀 Features

-   **eslint-plugin:** \[restrict-template-expressions] add `allowArray` option

-   **eslint-plugin:** add meta.docs.recommended setting for strict config options

-   **eslint-plugin:** add rule `use-unknown-in-catch-callback-variables`

-   **eslint-plugin:** \[prefer-reduce-type-parameter] supports tuple, union, intersection

##### 🩹 Fixes

-   correct `engines.node` constraints in `package.json`

-   **eslint-plugin:** \[unbound-method] check method definition in object literal using longhand form

-   **eslint-plugin:** \[consistent-type-imports] handle imports without specifiers

-   **eslint-plugin:** \[no-redundant-type-constituents] incorrectly marks & string as redundant

-   **eslint-plugin:** \[no-unnecessary-qualifier] handle merge namespace with enum

-   **eslint-plugin:** \[no-unused-expressions] false negatives when using assertions

-   **eslint-plugin:** \[ban-ts-comment] more accurate handling of multiline comments

-   **eslint-plugin:** \[explicit-function-return-type, explicit-module-boundary-types] improved checking for allowHigherOrderFunctions option

-   **eslint-plugin:** \[class-literal-property-style] ignore property assigned in constructor

-   **eslint-plugin:** \[no-unnecessary-type-assertion] fix false negative for const variable declarations

##### ❤️  Thank You

-   Abraham Guo
-   Alexu
-   Arka Pratim Chaudhuri
-   auvred
-   Derrick Isaacson
-   fnx
-   Josh Goldberg 
-   Kirk Waiblinger
-   Marta Cardoso
-   Michaël De Boey
-   Tristan Rasmussen
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.2.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#720-2024-03-11)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.1.1...v7.2.0)

##### 🚀 Features

-   support TS 5.4

-   **eslint-plugin:** \[prefer-string-starts-ends-with] add allowSingleElementEquality option

##### 🩹 Fixes

-   **eslint-plugin:** expose \*-type-checked-only configs for extension

-   **eslint-plugin:** \[member-ordering] report alphabetical sorting for all groups instead of just the first failing group

-   **eslint-plugin:** \[no-var-requires, no-require-imports] support template literal

-   **eslint-plugin:** \[no-useless-template-literals] detect TemplateLiteral

-   **eslint-plugin:** \[no-unnecessary-condition] handle union array and tuple type

-   **eslint-plugin:** \[prefer-find] support ternary branches in prefer-find

##### ❤️  Thank You

-   Arka Pratim Chaudhuri
-   auvred
-   Chris Plummer
-   Fotis Papadogeorgopoulos
-   Josh Goldberg 
-   Kirk Waiblinger
-   Wayne Zhang
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.1.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#711-2024-03-04)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.1.0...v7.1.1)

This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.1.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#710-2024-02-26)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.0.2...v7.1.0)

##### 🚀 Features

-   **eslint-plugin:** add \*-type-checked-only configs

-   **eslint-plugin:** \[naming-convention] support the auto-accessor syntax

-   **eslint-plugin:** \[consistent-return] add new rule

##### 🩹 Fixes

-   **eslint-plugin:** \[prefer-optional-chan] allow typeof for avoiding reference error

-   **eslint-plugin:** \[no-misused-promises] improve check union types

-   **eslint-plugin:** \[no-use-before-define] fix false positive type reference in as, satisfies

##### ❤️  Thank You

-   Arka Pratim Chaudhuri
-   Josh Goldberg 
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/157
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-04-15 18:20:33 +01:00
RenovateBot 1daf2b58ff Update dependency @babel/traverse to v7.24.1 (#156)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@babel/traverse](https://babel.dev/docs/en/next/babel-traverse) ([source](https://github.com/babel/babel)) | resolutions | minor | [`7.23.9` -> `7.24.1`](https://renovatebot.com/diffs/npm/@babel%2ftraverse/7.23.9/7.24.1) |

---

### Release Notes

<details>
<summary>babel/babel (@&#8203;babel/traverse)</summary>

### [`v7.24.1`](https://github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7241-2024-03-19)

[Compare Source](https://github.com/babel/babel/compare/v7.24.0...v7.24.1)

##### 🐛 Bug Fix

-   `babel-helper-create-class-features-plugin`, `babel-plugin-proposal-decorators`
    -   [#&#8203;16350](https://github.com/babel/babel/pull/16350) Fix decorated class computed keys ordering ([@&#8203;JLHwung](https://github.com/JLHwung))
    -   [#&#8203;16344](https://github.com/babel/babel/pull/16344) Fix decorated class static field private access ([@&#8203;JLHwung](https://github.com/JLHwung))
-   `babel-plugin-proposal-decorators`, `babel-plugin-proposal-json-modules`, `babel-plugin-transform-async-generator-functions`, `babel-plugin-transform-regenerator`, `babel-plugin-transform-runtime`, `babel-preset-env`
    -   [#&#8203;16329](https://github.com/babel/babel/pull/16329) Respect `moduleName` for `@babel/runtime/regenerator` imports ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-helper-create-class-features-plugin`, `babel-plugin-proposal-decorators`, `babel-plugin-proposal-pipeline-operator`, `babel-plugin-transform-class-properties`
    -   [#&#8203;16331](https://github.com/babel/babel/pull/16331) Fix decorator memoiser binding kind ([@&#8203;JLHwung](https://github.com/JLHwung))
-   `babel-helper-create-class-features-plugin`, `babel-helper-replace-supers`, `babel-plugin-proposal-decorators`, `babel-plugin-transform-class-properties`
    -   [#&#8203;16325](https://github.com/babel/babel/pull/16325) Fix decorator evaluation private environment ([@&#8203;JLHwung](https://github.com/JLHwung))

##### 📝 Documentation

-   [#&#8203;16319](https://github.com/babel/babel/pull/16319) Update SECURITY.md ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))

##### 🏠 Internal

-   `babel-code-frame`, `babel-highlight`
    -   [#&#8203;16359](https://github.com/babel/babel/pull/16359) Replace `chalk` with `picocolors` ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-helper-fixtures`, `babel-helpers`, `babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression`, `babel-plugin-proposal-pipeline-operator`, `babel-plugin-transform-unicode-sets-regex`, `babel-preset-env`, `babel-preset-flow`
    -   [#&#8203;16352](https://github.com/babel/babel/pull/16352) Run Babel transform tests on old node if possible ([@&#8203;JLHwung](https://github.com/JLHwung))
-   `babel-helpers`, `babel-plugin-transform-async-generator-functions`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-class-static-block`, `babel-plugin-transform-modules-commonjs`, `babel-plugin-transform-modules-systemjs`, `babel-plugin-transform-regenerator`, `babel-plugin-transform-runtime`, `babel-preset-env`, `babel-runtime-corejs3`, `babel-runtime`, `babel-standalone`
    -   [#&#8203;16323](https://github.com/babel/babel/pull/16323) Allow separate helpers to be excluded in Babel 8 ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helper-module-imports`, `babel-plugin-proposal-import-wasm-source`, `babel-plugin-proposal-json-modules`, `babel-plugin-proposal-record-and-tuple`, `babel-plugin-transform-react-jsx-development`, `babel-plugin-transform-react-jsx`
    -   [#&#8203;16349](https://github.com/babel/babel/pull/16349) Support merging imports in import injector ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-helper-create-class-features-plugin`, `babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression`, `babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining`, `babel-plugin-bugfix-v8-static-class-fields-redefine-readonly`, `babel-plugin-external-helpers`, `babel-plugin-proposal-async-do-expressions`, `babel-plugin-proposal-decorators`, `babel-plugin-proposal-destructuring-private`, `babel-plugin-proposal-do-expressions`, `babel-plugin-proposal-duplicate-named-capturing-groups-regex`, `babel-plugin-proposal-explicit-resource-management`, `babel-plugin-proposal-export-default-from`, `babel-plugin-proposal-function-bind`, `babel-plugin-proposal-function-sent`, `babel-plugin-proposal-import-attributes-to-assertions`, `babel-plugin-proposal-import-defer`, `babel-plugin-proposal-import-wasm-source`, `babel-plugin-proposal-json-modules`, `babel-plugin-proposal-optional-chaining-assign`, `babel-plugin-proposal-partial-application`, `babel-plugin-proposal-pipeline-operator`, `babel-plugin-proposal-record-and-tuple`, `babel-plugin-proposal-regexp-modifiers`, `babel-plugin-proposal-throw-expressions`, `babel-plugin-syntax-async-do-expressions`, `babel-plugin-syntax-decimal`, `babel-plugin-syntax-decorators`, `babel-plugin-syntax-destructuring-private`, `babel-plugin-syntax-do-expressions`, `babel-plugin-syntax-explicit-resource-management`, `babel-plugin-syntax-export-default-from`, `babel-plugin-syntax-flow`, `babel-plugin-syntax-function-bind`, `babel-plugin-syntax-function-sent`, `babel-plugin-syntax-import-assertions`, `babel-plugin-syntax-import-attributes`, `babel-plugin-syntax-import-defer`, `babel-plugin-syntax-import-reflection`, `babel-plugin-syntax-import-source`, `babel-plugin-syntax-jsx`, `babel-plugin-syntax-module-blocks`, `babel-plugin-syntax-optional-chaining-assign`, `babel-plugin-syntax-partial-application`, `babel-plugin-syntax-pipeline-operator`, `babel-plugin-syntax-record-and-tuple`, `babel-plugin-syntax-throw-expressions`, `babel-plugin-syntax-typescript`, `babel-plugin-transform-arrow-functions`, `babel-plugin-transform-async-generator-functions`, `babel-plugin-transform-async-to-generator`, `babel-plugin-transform-block-scoped-functions`, `babel-plugin-transform-block-scoping`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-class-static-block`, `babel-plugin-transform-classes`, `babel-plugin-transform-computed-properties`, `babel-plugin-transform-destructuring`, `babel-plugin-transform-dotall-regex`, `babel-plugin-transform-duplicate-keys`, `babel-plugin-transform-dynamic-import`, `babel-plugin-transform-exponentiation-operator`, `babel-plugin-transform-export-namespace-from`, `babel-plugin-transform-flow-comments`, `babel-plugin-transform-flow-strip-types`, `babel-plugin-transform-for-of`, `babel-plugin-transform-function-name`, `babel-plugin-transform-instanceof`, `babel-plugin-transform-jscript`, `babel-plugin-transform-json-strings`, `babel-plugin-transform-literals`, `babel-plugin-transform-logical-assignment-operators`, `babel-plugin-transform-member-expression-literals`, `babel-plugin-transform-modules-amd`, `babel-plugin-transform-modules-commonjs`, `babel-plugin-transform-modules-systemjs`, `babel-plugin-transform-modules-umd`, `babel-plugin-transform-new-target`, `babel-plugin-transform-nullish-coalescing-operator`, `babel-plugin-transform-numeric-separator`, `babel-plugin-transform-object-assign`, `babel-plugin-transform-object-rest-spread`, `babel-plugin-transform-object-set-prototype-of-to-assign`, `babel-plugin-transform-object-super`, `babel-plugin-transform-optional-catch-binding`, `babel-plugin-transform-optional-chaining`, `babel-plugin-transform-parameters`, `babel-plugin-transform-private-methods`, `babel-plugin-transform-private-property-in-object`, `babel-plugin-transform-property-literals`, `babel-plugin-transform-property-mutators`, `babel-plugin-transform-proto-to-assign`, `babel-plugin-transform-react-constant-elements`, `babel-plugin-transform-react-display-name`, `babel-plugin-transform-react-inline-elements`, `babel-plugin-transform-react-jsx-compat`, `babel-plugin-transform-react-jsx-self`, `babel-plugin-transform-react-jsx-source`, `babel-plugin-transform-react-pure-annotations`, `babel-plugin-transform-regenerator`, `babel-plugin-transform-reserved-words`, `babel-plugin-transform-runtime`, `babel-plugin-transform-shorthand-properties`, `babel-plugin-transform-spread`, `babel-plugin-transform-sticky-regex`, `babel-plugin-transform-strict-mode`, `babel-plugin-transform-template-literals`, `babel-plugin-transform-typeof-symbol`, `babel-plugin-transform-typescript`, `babel-plugin-transform-unicode-escapes`, `babel-plugin-transform-unicode-property-regex`, `babel-plugin-transform-unicode-regex`, `babel-plugin-transform-unicode-sets-regex`, `babel-preset-env`, `babel-preset-flow`, `babel-preset-react`, `babel-preset-typescript`
    -   [#&#8203;16332](https://github.com/babel/babel/pull/16332) Test Babel 7 plugins compatibility with Babel 8 core ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-compat-data`, `babel-plugin-transform-object-rest-spread`, `babel-preset-env`
    -   [#&#8203;16318](https://github.com/babel/babel/pull/16318) \[babel 8] Fix `@babel/compat-data` package.json ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))

##### 🔬 Output optimization

-   `babel-helper-replace-supers`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-classes`, `babel-plugin-transform-parameters`, `babel-plugin-transform-runtime`
    -   [#&#8203;16345](https://github.com/babel/babel/pull/16345) Optimize the use of `assertThisInitialized` after `super()` ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-plugin-transform-class-properties`, `babel-plugin-transform-classes`
    -   [#&#8203;16343](https://github.com/babel/babel/pull/16343) Use simpler `assertThisInitialized` more often ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-plugin-proposal-decorators`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-object-rest-spread`, `babel-traverse`
    -   [#&#8203;16342](https://github.com/babel/babel/pull/16342) Consider well-known and registered symbols as literals ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-core`, `babel-plugin-external-helpers`, `babel-plugin-proposal-decorators`, `babel-plugin-proposal-function-bind`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-classes`, `babel-plugin-transform-flow-comments`, `babel-plugin-transform-flow-strip-types`, `babel-plugin-transform-function-name`, `babel-plugin-transform-modules-systemjs`, `babel-plugin-transform-parameters`, `babel-plugin-transform-private-property-in-object`, `babel-plugin-transform-react-jsx`, `babel-plugin-transform-runtime`, `babel-plugin-transform-spread`, `babel-plugin-transform-typescript`, `babel-preset-env`
    -   [#&#8203;16326](https://github.com/babel/babel/pull/16326) Reduce the use of class names ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

### [`v7.24.0`](https://github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7240-2024-02-28)

[Compare Source](https://github.com/babel/babel/compare/v7.23.9...v7.24.0)

##### 🚀 New Feature

-   `babel-standalone`
    -   [#&#8203;11696](https://github.com/babel/babel/pull/11696) Export babel tooling packages in `@babel/standalone` ([@&#8203;ajihyf](https://github.com/ajihyf))
-   `babel-core`, `babel-helper-create-class-features-plugin`, `babel-helpers`, `babel-plugin-transform-class-properties`
    -   [#&#8203;16267](https://github.com/babel/babel/pull/16267) Implement `noUninitializedPrivateFieldAccess` assumption ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-helper-create-class-features-plugin`, `babel-helpers`, `babel-plugin-proposal-decorators`, `babel-plugin-proposal-pipeline-operator`, `babel-plugin-syntax-decorators`, `babel-plugin-transform-class-properties`, `babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime`
    -   [#&#8203;16242](https://github.com/babel/babel/pull/16242) Support decorator 2023-11 normative updates ([@&#8203;JLHwung](https://github.com/JLHwung))
-   `babel-preset-flow`
    -   [#&#8203;16309](https://github.com/babel/babel/pull/16309) \[babel 7] Allow setting `ignoreExtensions` in Flow preset ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
    -   [#&#8203;16284](https://github.com/babel/babel/pull/16284) Add `experimental_useHermesParser` option in `preset-flow` ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helper-import-to-platform-api`, `babel-plugin-proposal-import-wasm-source`, `babel-plugin-proposal-json-modules`, `babel-standalone`
    -   [#&#8203;16172](https://github.com/babel/babel/pull/16172) Add transform support for JSON modules imports ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-plugin-transform-runtime`
    -   [#&#8203;16241](https://github.com/babel/babel/pull/16241) Add back `moduleName` option to `@babel/plugin-transform-runtime` ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-parser`, `babel-types`
    -   [#&#8203;16277](https://github.com/babel/babel/pull/16277) Allow import attributes for `TSImportType` ([@&#8203;sosukesuzuki](https://github.com/sosukesuzuki))

##### 🐛 Bug Fix

-   `babel-plugin-proposal-do-expressions`, `babel-traverse`
    -   [#&#8203;16305](https://github.com/babel/babel/pull/16305) fix: avoid `popContext` on unvisited node paths ([@&#8203;JLHwung](https://github.com/JLHwung))
-   `babel-helper-create-class-features-plugin`, `babel-plugin-transform-private-methods`, `babel-plugin-transform-private-property-in-object`
    -   [#&#8203;16312](https://github.com/babel/babel/pull/16312) Fix class private properties when `privateFieldsAsSymbols` ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helper-create-class-features-plugin`, `babel-plugin-transform-private-methods`
    -   [#&#8203;16307](https://github.com/babel/babel/pull/16307) Fix the support of `arguments` in private `get/set` method ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helper-create-class-features-plugin`, `babel-helpers`, `babel-plugin-proposal-decorators`
    -   [#&#8203;16287](https://github.com/babel/babel/pull/16287) Reduce decorator static property size ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helper-create-class-features-plugin`, `babel-plugin-proposal-decorators`
    -   [#&#8203;16281](https://github.com/babel/babel/pull/16281) Fix evaluation order of decorators with cached receiver ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
    -   [#&#8203;16279](https://github.com/babel/babel/pull/16279) Fix decorator this memoization ([@&#8203;JLHwung](https://github.com/JLHwung))
    -   [#&#8203;16266](https://github.com/babel/babel/pull/16266) Preserve `static` on decorated private `accessor` ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
    -   [#&#8203;16258](https://github.com/babel/babel/pull/16258) fix: handle decorated async private method and generator ([@&#8203;JLHwung](https://github.com/JLHwung))
-   `babel-helper-create-class-features-plugin`, `babel-plugin-proposal-decorators`, `babel-plugin-transform-async-generator-functions`, `babel-plugin-transform-private-methods`, `babel-plugin-transform-private-property-in-object`, `babel-plugin-transform-typescript`, `babel-preset-env`
    -   [#&#8203;16275](https://github.com/babel/babel/pull/16275) Fix class private properties when `privateFieldsAsProperties` ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helpers`
    -   [#&#8203;16268](https://github.com/babel/babel/pull/16268) Do not consider `arguments` in a helper as a global reference ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-helpers`, `babel-plugin-proposal-decorators`
    -   [#&#8203;16270](https://github.com/babel/babel/pull/16270) Handle symbol key class elements decoration ([@&#8203;JLHwung](https://github.com/JLHwung))
    -   [#&#8203;16265](https://github.com/babel/babel/pull/16265) Do not define `access.get` for public setter decorators ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))

##### 💅 Polish

-   `babel-core`, `babel-helper-create-class-features-plugin`, `babel-preset-env`
    -   [#&#8203;12428](https://github.com/babel/babel/pull/12428) Suggest using `BABEL_SHOW_CONFIG_FOR` for config problems ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))

##### 🏠 Internal

-   `babel-helper-transform-fixture-test-runner`
    -   [#&#8203;16278](https://github.com/babel/babel/pull/16278) Continue writing `output.js` when `exec.js` throws ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

##### 🔬 Output optimization

-   `babel-helper-create-class-features-plugin`, `babel-plugin-proposal-decorators`
    -   [#&#8203;16306](https://github.com/babel/babel/pull/16306) Avoid intermediate functions for private accessors with decs ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-helper-create-class-features-plugin`, `babel-helpers`, `babel-plugin-proposal-decorators`, `babel-plugin-proposal-pipeline-operator`, `babel-plugin-transform-class-properties`
    -   [#&#8203;16294](https://github.com/babel/babel/pull/16294) More aggressively inline decorators in the static block ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-helper-create-class-features-plugin`, `babel-helpers`, `babel-plugin-transform-private-methods`
    -   [#&#8203;16283](https://github.com/babel/babel/pull/16283) Do not use `classPrivateMethodGet` ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helper-create-class-features-plugin`, `babel-helpers`, `babel-plugin-proposal-decorators`
    -   [#&#8203;16287](https://github.com/babel/babel/pull/16287) Reduce decorator static property size ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helper-create-class-features-plugin`, `babel-plugin-proposal-decorators`, `babel-plugin-transform-class-properties`
    -   [#&#8203;16280](https://github.com/babel/babel/pull/16280) Reduce element decorator temp variables ([@&#8203;JLHwung](https://github.com/JLHwung))
-   `babel-helper-create-class-features-plugin`, `babel-helper-fixtures`, `babel-helpers`, `babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining`, `babel-plugin-proposal-decorators`, `babel-plugin-proposal-destructuring-private`, `babel-plugin-proposal-optional-chaining-assign`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-class-static-block`, `babel-plugin-transform-private-methods`, `babel-plugin-transform-private-property-in-object`, `babel-preset-env`, `babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime`
    -   [#&#8203;16261](https://github.com/babel/babel/pull/16261) Do not use descriptors for private class elements ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-helpers`, `babel-plugin-proposal-decorators`
    -   [#&#8203;16263](https://github.com/babel/babel/pull/16263) Reduce helper size for decorator 2023-11 ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/156
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-04-15 18:18:45 +01:00
RenovateBot f422840c15 Update dependency @types/node to v20.12.7 (#155)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | minor | [`20.11.20` -> `20.12.7`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.20/20.12.7) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/155
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-04-15 18:16:57 +01:00
RenovateBot 75b85caa56 Update dependency @types/eslint to v8.56.9 (#154)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/eslint](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`8.56.3` -> `8.56.9`](https://renovatebot.com/diffs/npm/@types%2feslint/8.56.3/8.56.9) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/154
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-04-15 18:15:20 +01:00
Ethan Lane f7667fe3b7 Fix tests
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-04-12 18:13:04 +01:00
Ethan Lane 5d0af43b6f Merge branch 'master' into develop 2024-04-12 18:05:00 +01:00
Ethan Lane 8a726b386e v2.1.6
All checks were successful
continuous-integration/drone/push Build is passing
2024-04-12 17:57:13 +01:00
Ethan Lane 9e25e5a0e0 Update tests 2024-04-12 17:54:12 +01:00
Ethan Lane 00b51584b6 Add image helper class to handle reddit galleries 2024-04-07 11:03:20 +01:00
Ethan Lane 1996fc07b1 Empty commit
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-03-01 19:53:37 +00:00
Ethan Lane 6c1d0dfe09 Add binary building (#151)
All checks were successful
ci/woodpecker/manual/woodpecker Pipeline was successful
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Install pkg
- Create ability to build package
- Add to woodpecker-ci

#101

## Type of change

Please delete options that are not relevant.

- [x] New feature (non-breaking change which adds functionality)
- [x] This change requires a documentation update

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

# Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/151
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2024-03-01 19:51:12 +00:00
RenovateBot 6154c589a5 Update dependency eslint to v8.57.0 (#150)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`8.56.0` -> `8.57.0`](https://renovatebot.com/diffs/npm/eslint/8.56.0/8.57.0) |
| [@types/eslint](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`8.56.2` -> `8.56.3`](https://renovatebot.com/diffs/npm/@types%2feslint/8.56.2/8.56.3) |

---

### Release Notes

<details>
<summary>eslint/eslint (eslint)</summary>

### [`v8.57.0`](https://github.com/eslint/eslint/releases/tag/v8.57.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.56.0...v8.57.0)

#### Features

-   [`1120b9b`](1120b9b7b9) feat: Add loadESLint() API method for v8 ([#&#8203;18098](https://github.com/eslint/eslint/issues/18098)) (Nicholas C. Zakas)
-   [`dca7d0f`](dca7d0f1c2) feat: Enable `eslint.config.mjs` and `eslint.config.cjs` ([#&#8203;18066](https://github.com/eslint/eslint/issues/18066)) (Nitin Kumar)

#### Bug Fixes

-   [`2196d97`](2196d97094) fix: handle absolute file paths in `FlatRuleTester` ([#&#8203;18064](https://github.com/eslint/eslint/issues/18064)) (Nitin Kumar)
-   [`69dd1d1`](69dd1d1387) fix: Ensure config keys are printed for config errors ([#&#8203;18067](https://github.com/eslint/eslint/issues/18067)) (Nitin Kumar)
-   [`9852a31`](9852a31edc) fix: deep merge behavior in flat config ([#&#8203;18065](https://github.com/eslint/eslint/issues/18065)) (Nitin Kumar)
-   [`4c7e9b0`](4c7e9b0b53) fix: allow circular references in config ([#&#8203;18056](https://github.com/eslint/eslint/issues/18056)) (Milos Djermanovic)

#### Documentation

-   [`84922d0`](84922d0bfa) docs: Show prerelease version in dropdown ([#&#8203;18139](https://github.com/eslint/eslint/issues/18139)) (Nicholas C. Zakas)
-   [`5b8c363`](5b8c3636a3) docs: Switch to Ethical Ads ([#&#8203;18117](https://github.com/eslint/eslint/issues/18117)) (Milos Djermanovic)
-   [`77dbfd9`](77dbfd9887) docs: show NEXT in version selectors ([#&#8203;18052](https://github.com/eslint/eslint/issues/18052)) (Milos Djermanovic)

#### Chores

-   [`1813aec`](1813aecc46) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).57.0 ([#&#8203;18143](https://github.com/eslint/eslint/issues/18143)) (Milos Djermanovic)
-   [`5c356bb`](5c356bb0c6) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (Jenkins)
-   [`f4a1fe2`](f4a1fe2e45) test: add more tests for ignoring files and directories ([#&#8203;18068](https://github.com/eslint/eslint/issues/18068)) (Nitin Kumar)
-   [`42c0aef`](42c0aefaf6) ci: Enable CI for `v8.x` branch ([#&#8203;18047](https://github.com/eslint/eslint/issues/18047)) (Milos Djermanovic)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/150
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-02-26 18:02:28 +00:00
RenovateBot 3abb1353a9 Update dependency @typescript-eslint/eslint-plugin to v7 (#146)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | major | [`^6.0.0` -> `^7.0.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.21.0/7.0.2) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v7.0.2`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#702-2024-02-19)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.0.1...v7.0.2)

##### 🩹 Fixes

-   fix tsconfig-less check errors, fix `@types/eslint` incompatibilities, add tests

##### ❤️  Thank You

-   Brad Zacher
-   Gareth Jones

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.0.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#701-2024-02-12)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.0.0...v7.0.1)

##### 🩹 Fixes

-   **eslint-plugin:** update peer dep for parser

##### ❤️  Thank You

-   Tim Dorr

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.0.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#700-2024-02-12)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.21.0...v7.0.0)

##### 🚀 Features

-   ⚠️  bump ESLint, NodeJS, and TS minimum version requirements

-   add support for flat configs

##### 🩹 Fixes

-   **eslint-plugin:** \[prefer-find] stop throwing type errors when converting symbols to numbers

##### ⚠️  Breaking Changes

-   ⚠️  bump ESLint, NodeJS, and TS minimum version requirements

##### ❤️  Thank You

-   Brad Zacher
-   Kirk Waiblinger
-   StyleShit
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.21.0 (2024-02-05)

##### 🚀 Features

-   export plugin metadata

-   allow `parserOptions.project: false`

-   **eslint-plugin:** add rule prefer-find

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unused-vars] don't report on types referenced in export assignment expression

-   **eslint-plugin:** \[switch-exhaustiveness-check] better support for intersections, infinite types, non-union values

-   **eslint-plugin:** \[consistent-type-imports] dont report on types used in export assignment expressions

-   **eslint-plugin:** \[no-unnecessary-condition] handle left-hand optional with exactOptionalPropertyTypes option

-   **eslint-plugin:** \[class-literal-property-style] allow getter when same key setter exists

-   **eslint-plugin:** \[no-unnecessary-type-assertion] provide valid fixes for assertions with extra tokens before `as` keyword

##### ❤️  Thank You

-   auvred
-   Brad Zacher
-   Kirk Waiblinger
-   Pete Gonzalez
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.20.0 (2024-01-29)

##### 🚀 Features

-   **eslint-plugin:** \[member-ordering] allow easy reuse of the default ordering

##### 🩹 Fixes

-   **eslint-plugin:** \[no-useless-template-literals] incorrect bigint autofix result

-   **eslint-plugin:** \[prefer-nullish-coalescing] treat any/unknown as non-nullable

-   **eslint-plugin:** \[no-useless-template-literals] report Infinity & NaN

-   **eslint-plugin:** \[prefer-readonly] disable checking accessors

##### ❤️  Thank You

-   Alex Parloti
-   auvred
-   James Browning
-   StyleShit
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.19.1 (2024-01-22)

##### 🩹 Fixes

-   **type-utils:** preventing isUnsafeAssignment infinite recursive calls

-   **eslint-plugin:** \[no-unnecessary-condition] fix false positive for type variable

##### ❤️  Thank You

-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.19.0 (2024-01-15)

##### 🚀 Features

-   **eslint-plugin:** \[prefer-promise-reject-errors] add rule

-   **eslint-plugin:** \[no-array-delete] add new rule

-   **eslint-plugin:** \[no-useless-template-literals] add fix suggestions

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unnecessary-type-assertion] detect unnecessary non-null-assertion on a call expression

-   **eslint-plugin:** \[no-unnecesary-type-assertion] treat unknown/any as nullable

##### ❤️  Thank You

-   auvred
-   Brad Zacher
-   Josh Goldberg 
-   Joshua Chen
-   LJX
-   Steven
-   StyleShit

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.18.1 (2024-01-08)

##### 🩹 Fixes

-   **eslint-plugin:** \[no-non-null-assertion] provide valid fix when member access is on next line

-   **eslint-plugin:** \[no-unnecessary-condition] improve checking optional callee

-   **eslint-plugin:** \[prefer-readonly] support modifiers of unions and intersections

-   **eslint-plugin:** \[switch-exhaustiveness-check] fix new allowDefaultCaseForExhaustiveSwitch option

##### ❤️  Thank You

-   auvred
-   James
-   Josh Goldberg 
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.18.0 (2024-01-06)

##### 🚀 Features

-   **typescript-estree:** throw on invalid update expressions

-   **eslint-plugin:** \[no-var-requires, no-require-imports] allow option

##### ❤️  Thank You

-   auvred
-   Joshua Chen

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/146
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-02-26 18:01:22 +00:00
RenovateBot 4e2aa5108b Update dependency @types/jest to v29.5.12 (#144)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`29.5.11` -> `29.5.12`](https://renovatebot.com/diffs/npm/@types%2fjest/29.5.11/29.5.12) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/144
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-02-26 18:00:17 +00:00
RenovateBot f29d3f8940 Update dependency @types/node to v20.11.20 (#127)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | minor | [`20.10.3` -> `20.11.20`](https://renovatebot.com/diffs/npm/@types%2fnode/20.10.3/20.11.20) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/127
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-02-26 17:59:09 +00:00
Ethan Lane 269ba7fe79 Add documentation on the cli (#149)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Add documentation for the CLI

#117

## Type of change

Please delete options that are not relevant.

- [x] New feature (non-breaking change which adds functionality)
- [x] This change requires a documentation update

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

# Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/149
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2024-02-23 18:30:56 +00:00
Ethan Lane c3b4c5c3e2 Migrate to Woodpecker CI (#148)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Migrate to Woodpecker CI

#131

## Type of change

Please delete options that are not relevant.

- [x] New feature (non-breaking change which adds functionality)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

# Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/148
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2024-02-23 18:28:49 +00:00
RenovateBot ac8691b579 Update dependency commander to v12 (#145)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [commander](https://github.com/tj/commander.js) | dependencies | major | [`^11.1.0` -> `^12.0.0`](https://renovatebot.com/diffs/npm/commander/11.1.0/12.0.0) |

---

### Release Notes

<details>
<summary>tj/commander.js (commander)</summary>

### [`v12.0.0`](https://github.com/tj/commander.js/blob/HEAD/CHANGELOG.md#1200-2024-02-03)

[Compare Source](https://github.com/tj/commander.js/compare/v11.1.0...v12.0.0)

##### Added

-   `.addHelpOption()` as another way of configuring built-in help option (\[[#&#8203;2006](https://github.com/tj/commander.js/issues/2006)])
-   `.helpCommand()` for configuring built-in help command (\[[#&#8203;2087](https://github.com/tj/commander.js/issues/2087)])

##### Fixed

-   *Breaking:* use non-zero exit code when spawned executable subcommand terminates due to a signal (\[[#&#8203;2023](https://github.com/tj/commander.js/issues/2023)])
-   *Breaking:* check `passThroughOptions` constraints when using `.addCommand` and throw if parent command does not have `.enablePositionalOptions()` enabled (\[[#&#8203;1937](https://github.com/tj/commander.js/issues/1937)])

##### Changed

-   *Breaking:* Commander 12 requires Node.js v18 or higher (\[[#&#8203;2027](https://github.com/tj/commander.js/issues/2027)])
-   *Breaking:* throw an error if add an option with a flag which is already in use (\[[#&#8203;2055](https://github.com/tj/commander.js/issues/2055)])
-   *Breaking:* throw an error if add a command with name or alias which is already in use (\[[#&#8203;2059](https://github.com/tj/commander.js/issues/2059)])
-   *Breaking:* throw error when calling `.storeOptionsAsProperties()` after setting an option value (\[[#&#8203;1928](https://github.com/tj/commander.js/issues/1928)])
-   replace non-standard JSDoc of `@api private` with documented `@private` (\[[#&#8203;1949](https://github.com/tj/commander.js/issues/1949)])
-   `.addHelpCommand()` now takes a Command (passing string or boolean still works as before but deprecated) (\[[#&#8203;2087](https://github.com/tj/commander.js/issues/2087)])
-   refactor internal implementation of built-in help option (\[[#&#8203;2006](https://github.com/tj/commander.js/issues/2006)])
-   refactor internal implementation of built-in help command (\[[#&#8203;2087](https://github.com/tj/commander.js/issues/2087)])

##### Deprecated

-   `.addHelpCommand()` passing string or boolean (use `.helpCommand()` or pass a Command) (\[[#&#8203;2087](https://github.com/tj/commander.js/issues/2087)])

##### Removed

-   *Breaking:* removed default export of a global Command instance from CommonJS (use the named `program` export instead) (\[[#&#8203;2017](https://github.com/tj/commander.js/issues/2017)])

##### Migration Tips

**global program**

If you are using the [deprecated](./docs/deprecated.md#default-import-of-global-command-object) default import of the global Command object, you need to switch to using a named import (or create a new `Command`).

```js
// const program = require('commander');
const { program } = require('commander');
```

**option and command clashes**

A couple of configuration problems now throw an error, which will pick up issues in existing programs:

-   adding an option which uses the same flag as a previous option
-   adding a command which uses the same name or alias as a previous command

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/145
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-02-19 14:34:11 +00:00
RenovateBot 49d5186572 Update dependency ts-jest to v29.1.2 (#143)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | devDependencies | patch | [`29.1.1` -> `29.1.2`](https://renovatebot.com/diffs/npm/ts-jest/29.1.1/29.1.2) |

---

### Release Notes

<details>
<summary>kulshekhar/ts-jest (ts-jest)</summary>

### [`v29.1.2`](https://github.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#2912-2024-01-22)

[Compare Source](https://github.com/kulshekhar/ts-jest/compare/v29.1.1...v29.1.2)

##### Bug Fixes

-   calculated cache key based on `supportsStaticESM` ([a5d6f2d](a5d6f2d4f4))
-   correct error handling in `processAsync` ([e7be4bf](e7be4bf6a8)), closes [#&#8203;4207](https://github.com/kulshekhar/ts-jest/issues/4207)
-   use `Config.ProjectConfig` ([918312b](918312bee2)), closes [#&#8203;4028](https://github.com/kulshekhar/ts-jest/issues/4028)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/143
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-02-19 14:32:28 +00:00
RenovateBot bfb2e73099 Update dependency @babel/traverse to v7.23.9 (#142)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@babel/traverse](https://babel.dev/docs/en/next/babel-traverse) ([source](https://github.com/babel/babel)) | resolutions | patch | [`7.23.7` -> `7.23.9`](https://renovatebot.com/diffs/npm/@babel%2ftraverse/7.23.7/7.23.9) |

---

### Release Notes

<details>
<summary>babel/babel (@&#8203;babel/traverse)</summary>

### [`v7.23.9`](https://github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7239-2024-01-25)

[Compare Source](https://github.com/babel/babel/compare/v7.23.7...v7.23.9)

##### 🐛 Bug Fix

-   `babel-helper-transform-fixture-test-runner`, `babel-plugin-transform-function-name`, `babel-plugin-transform-modules-systemjs`, `babel-preset-env`
    -   [#&#8203;16225](https://github.com/babel/babel/pull/16225) fix: `systemjs` re-traverses helpers ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helper-create-class-features-plugin`, `babel-plugin-proposal-decorators`
    -   [#&#8203;16226](https://github.com/babel/babel/pull/16226) Improve decorated private method check ([@&#8203;JLHwung](https://github.com/JLHwung))
-   `babel-plugin-proposal-decorators`, `babel-plugin-transform-async-generator-functions`, `babel-plugin-transform-runtime`, `babel-preset-env`
    -   [#&#8203;16224](https://github.com/babel/babel/pull/16224) Properly sort `core-js@3` imports ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-traverse`
    -   [#&#8203;15383](https://github.com/babel/babel/pull/15383) fix: Don't throw in `getTypeAnnotation` when using TS+inference ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   Other
    -   [#&#8203;16210](https://github.com/babel/babel/pull/16210) \[eslint] Fix `no-use-before-define` for class ref in fields ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))

##### 🏠 Internal

-   `babel-core`, `babel-parser`, `babel-template`
    -   [#&#8203;16222](https://github.com/babel/babel/pull/16222) Migrate `eslint-parser` to cts ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-types`
    -   [#&#8203;16213](https://github.com/babel/babel/pull/16213) Remove `@babel/types` props that are not produced by the parser ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

##### 🏃‍♀️ Performance

-   `babel-parser`
    -   [#&#8203;16072](https://github.com/babel/babel/pull/16072) perf: Improve parser performance for typescript ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

##### 🔬 Output optimization

-   `babel-helper-create-class-features-plugin`, `babel-plugin-proposal-decorators`, `babel-plugin-proposal-destructuring-private`, `babel-plugin-proposal-pipeline-operator`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-class-static-block`, `babel-plugin-transform-new-target`, `babel-plugin-transform-parameters`, `babel-plugin-transform-private-methods`, `babel-preset-env`
    -   [#&#8203;16218](https://github.com/babel/babel/pull/16218) Improve temporary variables for decorators ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helpers`, `babel-plugin-proposal-explicit-resource-management`, `babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime`
    -   [#&#8203;15959](https://github.com/babel/babel/pull/15959) Improve output of `using` ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/142
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-02-19 14:31:24 +00:00
RenovateBot 52d2501a68 Update dependency @typescript-eslint/eslint-plugin to v6.21.0 (#141)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`6.18.1` -> `6.21.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.18.1/6.21.0) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v6.21.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6210-2024-02-05)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.20.0...v6.21.0)

##### 🚀 Features

-   export plugin metadata

-   allow `parserOptions.project: false`

-   **eslint-plugin:** add rule prefer-find

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unused-vars] don't report on types referenced in export assignment expression

-   **eslint-plugin:** \[switch-exhaustiveness-check] better support for intersections, infinite types, non-union values

-   **eslint-plugin:** \[consistent-type-imports] dont report on types used in export assignment expressions

-   **eslint-plugin:** \[no-unnecessary-condition] handle left-hand optional with exactOptionalPropertyTypes option

-   **eslint-plugin:** \[class-literal-property-style] allow getter when same key setter exists

-   **eslint-plugin:** \[no-unnecessary-type-assertion] provide valid fixes for assertions with extra tokens before `as` keyword

##### ❤️  Thank You

-   auvred
-   Brad Zacher
-   Kirk Waiblinger
-   Pete Gonzalez
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.20.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6200-2024-01-29)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0)

##### 🚀 Features

-   **eslint-plugin:** \[member-ordering] allow easy reuse of the default ordering

##### 🩹 Fixes

-   **eslint-plugin:** \[no-useless-template-literals] incorrect bigint autofix result

-   **eslint-plugin:** \[prefer-nullish-coalescing] treat any/unknown as non-nullable

-   **eslint-plugin:** \[no-useless-template-literals] report Infinity & NaN

-   **eslint-plugin:** \[prefer-readonly] disable checking accessors

##### ❤️  Thank You

-   Alex Parloti
-   auvred
-   James Browning
-   StyleShit
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.19.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6191-2024-01-22)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1)

##### 🩹 Fixes

-   **type-utils:** preventing isUnsafeAssignment infinite recursive calls

-   **eslint-plugin:** \[no-unnecessary-condition] fix false positive for type variable

##### ❤️  Thank You

-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.19.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6190-2024-01-15)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.18.1...v6.19.0)

##### 🚀 Features

-   **eslint-plugin:** \[prefer-promise-reject-errors] add rule

-   **eslint-plugin:** \[no-array-delete] add new rule

-   **eslint-plugin:** \[no-useless-template-literals] add fix suggestions

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unnecessary-type-assertion] detect unnecessary non-null-assertion on a call expression

-   **eslint-plugin:** \[no-unnecesary-type-assertion] treat unknown/any as nullable

##### ❤️  Thank You

-   auvred
-   Brad Zacher
-   Josh Goldberg 
-   Joshua Chen
-   LJX
-   Steven
-   StyleShit

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/141
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-02-19 14:30:25 +00:00
Ethan Lane f9d09888ce Add ability to output the CLI in JSON format (#124)
Some checks failed
continuous-integration/drone/push Build is failing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Added a JSON flag (`-j`, `--json`) to the CLI to allow you to output in JSON

#73

## Type of change

Please delete options that are not relevant.

- [x] New feature (non-breaking change which adds functionality)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

- Have added tests to ensure that the JSON is valid

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that provde my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/124
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2024-01-19 18:02:16 +00:00
RenovateBot 8c440c0539 Update dependency np to v9 (#135)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [np](https://github.com/sindresorhus/np) | devDependencies | major | [`^8.0.0` -> `^9.0.0`](https://renovatebot.com/diffs/npm/np/8.0.4/9.2.0) |

---

### Release Notes

<details>
<summary>sindresorhus/np (np)</summary>

### [`v9.2.0`](https://github.com/sindresorhus/np/releases/tag/v9.2.0)

[Compare Source](https://github.com/sindresorhus/np/compare/v9.1.0...v9.2.0)

-   Fix yarn npm publish for scoped packages  [`8d3a984`](https://github.com/sindresorhus/np/commit/8d3a984)
-   Fix broken revert code after publish failure  [`819ed29`](https://github.com/sindresorhus/np/commit/819ed29)

### [`v9.1.0`](https://github.com/sindresorhus/np/releases/tag/v9.1.0)

[Compare Source](https://github.com/sindresorhus/np/compare/v9.0.0...v9.1.0)

-   Add Yarn Berry support ([#&#8203;723](https://github.com/sindresorhus/np/issues/723))  [`0d9522b`](https://github.com/sindresorhus/np/commit/0d9522b)

### [`v9.0.0`](https://github.com/sindresorhus/np/releases/tag/v9.0.0)

[Compare Source](https://github.com/sindresorhus/np/compare/v8.0.4...v9.0.0)

##### Breaking

-   Require Node.js 18 and npm 9  [`6c2e00e`](https://github.com/sindresorhus/np/commit/6c2e00e)

##### Improvements

-   Group unpublished files in folders ([#&#8203;716](https://github.com/sindresorhus/np/issues/716))  [`c31c2bc`](https://github.com/sindresorhus/np/commit/c31c2bc)
-   improve messages related to new files and dependencies ([#&#8203;702](https://github.com/sindresorhus/np/issues/702))  [`ad7b09e`](https://github.com/sindresorhus/np/commit/ad7b09e)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/135
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-01-16 19:15:10 +00:00
RenovateBot a9a756a001 Update dependency got to v14 (#134)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [got](https://github.com/sindresorhus/got) | resolutions | major | [`^13.0.0` -> `^14.0.0`](https://renovatebot.com/diffs/npm/got/13.0.0/14.0.0) |

---

### Release Notes

<details>
<summary>sindresorhus/got (got)</summary>

### [`v14.0.0`](https://github.com/sindresorhus/got/releases/tag/v14.0.0)

[Compare Source](https://github.com/sindresorhus/got/compare/v13.0.0...v14.0.0)

##### Breaking

-   Require Node.js 20 ([#&#8203;2313](https://github.com/sindresorhus/got/issues/2313))  [`a004263`](https://github.com/sindresorhus/got/commit/a004263)
    -   Why not target the oldest active Node.js LTS, which is Node.js 18? I usually strictly follow this convention in my packages. However, this package is the exception because the HTTP part of Node.js is consistently buggy, and I don't have time to work around issues in older Node.js releases. I you need to still support Node.js 18, I suggest staying on Got v13, which is quite stable. Node.js 18 will be out of active LTS in 5 months.

##### Improvements

-   Make `followRedirect` option accept a function ([#&#8203;2306](https://github.com/sindresorhus/got/issues/2306))  [`7c3f147`](https://github.com/sindresorhus/got/commit/7c3f147)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/134
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-01-16 19:14:22 +00:00
RenovateBot cbf1dea9c6 Update dependency typescript to v5.3.3 (#133)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/Microsoft/TypeScript)) | devDependencies | minor | [`5.2.2` -> `5.3.3`](https://renovatebot.com/diffs/npm/typescript/5.2.2/5.3.3) |

---

### Release Notes

<details>
<summary>Microsoft/TypeScript (typescript)</summary>

### [`v5.3.3`](https://github.com/microsoft/TypeScript/releases/tag/v5.3.3): TypeScript 5.3.3

[Compare Source](https://github.com/Microsoft/TypeScript/compare/v5.3.2...v5.3.3)

For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-3/).

For the complete list of fixed issues, check out the

-   [fixed issues query for Typescript 5.3.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.0%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.3.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.1%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.3.2 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.2%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.3.3 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.3%22+is%3Aclosed+).

Downloads are available on:

-   [NuGet package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)

### [`v5.3.2`](https://github.com/microsoft/TypeScript/releases/tag/v5.3.2): TypeScript 5.3

[Compare Source](https://github.com/Microsoft/TypeScript/compare/v5.2.2...v5.3.2)

For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-3/).

For the complete list of fixed issues, check out the

-   [fixed issues query for Typescript 5.3.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.0%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.3.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.1%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.3.2 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.2%22+is%3Aclosed+).

Downloads are available on:

-   [NuGet package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/133
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-01-16 19:13:22 +00:00
RenovateBot 43687410c0 Update dependency eslint to v8.56.0 (#132)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`8.55.0` -> `8.56.0`](https://renovatebot.com/diffs/npm/eslint/8.55.0/8.56.0) |
| [@types/eslint](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | minor | [`8.44.8` -> `8.56.2`](https://renovatebot.com/diffs/npm/@types%2feslint/8.44.8/8.56.2) |

---

### Release Notes

<details>
<summary>eslint/eslint (eslint)</summary>

### [`v8.56.0`](https://github.com/eslint/eslint/releases/tag/v8.56.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.55.0...v8.56.0)

#### Features

-   [`0dd9704`](0dd9704c47) feat: Support custom severity when reporting unused disable directives ([#&#8203;17212](https://github.com/eslint/eslint/issues/17212)) (Bryan Mishkin)
-   [`31a7e3f`](31a7e3fde4) feat: fix no-restricted-properties false negatives with unknown objects ([#&#8203;17818](https://github.com/eslint/eslint/issues/17818)) (Arka Pratim Chaudhuri)

#### Bug Fixes

-   [`7d5e5f6`](7d5e5f6884) fix: `TypeError: fs.exists is not a function` on read-only file system ([#&#8203;17846](https://github.com/eslint/eslint/issues/17846)) (Francesco Trotta)
-   [`74739c8`](74739c849b) fix: suggestion with invalid syntax in no-promise-executor-return rule ([#&#8203;17812](https://github.com/eslint/eslint/issues/17812)) (Bryan Mishkin)

#### Documentation

-   [`9007719`](90077199fe) docs: update link in ways-to-extend.md ([#&#8203;17839](https://github.com/eslint/eslint/issues/17839)) (Amel SELMANE)
-   [`3a22236`](3a22236f8d) docs: Update README (GitHub Actions Bot)
-   [`54c3ca6`](54c3ca6f2d) docs: fix migration-guide example ([#&#8203;17829](https://github.com/eslint/eslint/issues/17829)) (Tanuj Kanti)
-   [`4391b71`](4391b71e62) docs: check config comments in rule examples ([#&#8203;17815](https://github.com/eslint/eslint/issues/17815)) (Francesco Trotta)
-   [`fd28363`](fd2836342c) docs: remove mention about ESLint stylistic rules in readme ([#&#8203;17810](https://github.com/eslint/eslint/issues/17810)) (Zwyx)
-   [`48ed5a6`](48ed5a6dad) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`ba6af85`](ba6af85c7d) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).56.0 ([#&#8203;17864](https://github.com/eslint/eslint/issues/17864)) (Milos Djermanovic)
-   [`60a531a`](60a531a9c0) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (Jenkins)
-   [`ba87a06`](ba87a0651a) chore: update dependency markdownlint to ^0.32.0 ([#&#8203;17783](https://github.com/eslint/eslint/issues/17783)) (renovate\[bot])
-   [`9271d10`](9271d10d9e) chore: add GitHub issue template for docs issues ([#&#8203;17845](https://github.com/eslint/eslint/issues/17845)) (Josh Goldberg )
-   [`70a686b`](70a686b3c1) chore: Convert rule tests to FlatRuleTester ([#&#8203;17819](https://github.com/eslint/eslint/issues/17819)) (Nicholas C. Zakas)
-   [`f3a599d`](f3a599d34c) chore: upgrade eslint-plugin-unicorn to v49.0.0 ([#&#8203;17837](https://github.com/eslint/eslint/issues/17837)) (唯然)
-   [`905d4b7`](905d4b75ab) chore: upgrade eslint-plugin-eslint-plugin v5.2.1 ([#&#8203;17838](https://github.com/eslint/eslint/issues/17838)) (唯然)
-   [`4d7c3ce`](4d7c3ce246) chore: update eslint-plugin-n v16.4.0 ([#&#8203;17836](https://github.com/eslint/eslint/issues/17836)) (唯然)
-   [`fd0c60c`](fd0c60c3be) ci: unpin Node.js 21.2.0 ([#&#8203;17821](https://github.com/eslint/eslint/issues/17821)) (Francesco Trotta)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/132
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-01-16 19:12:27 +00:00
RenovateBot bb3072e8f6 Update dependency @typescript-eslint/eslint-plugin to v6.18.1 (#130)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`6.13.1` -> `6.18.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.13.1/6.18.1) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v6.18.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6181-2024-01-08)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.18.0...v6.18.1)

##### 🩹 Fixes

-   **eslint-plugin:** \[no-non-null-assertion] provide valid fix when member access is on next line

-   **eslint-plugin:** \[no-unnecessary-condition] improve checking optional callee

-   **eslint-plugin:** \[prefer-readonly] support modifiers of unions and intersections

-   **eslint-plugin:** \[switch-exhaustiveness-check] fix new allowDefaultCaseForExhaustiveSwitch option

##### ❤️  Thank You

-   auvred
-   James
-   Josh Goldberg 
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.18.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6180-2024-01-06)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.17.0...v6.18.0)

##### 🚀 Features

-   **typescript-estree:** throw on invalid update expressions

-   **eslint-plugin:** \[no-var-requires, no-require-imports] allow option

##### ❤️  Thank You

-   auvred
-   Joshua Chen

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.17.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6170-2024-01-01)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.16.0...v6.17.0)

##### Bug Fixes

-   **eslint-plugin:** \[no-restricted-imports] prevent crash when `patterns` or `paths` in options are empty ([#&#8203;8108](https://github.com/typescript-eslint/typescript-eslint/issues/8108)) ([675e987](675e987ca1))

##### Features

-   **eslint-plugin:** \[no-floating-promises] flag result of .map(async) ([#&#8203;7897](https://github.com/typescript-eslint/typescript-eslint/issues/7897)) ([5857356](5857356962))
-   **eslint-plugin:** \[switch-exhaustiveness-check] add an option to warn against a `default` case on an already exhaustive `switch` ([#&#8203;7539](https://github.com/typescript-eslint/typescript-eslint/issues/7539)) ([6a219bd](6a219bdfe6))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.16.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6160-2023-12-25)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.15.0...v6.16.0)

##### Bug Fixes

-   **eslint-plugin:** \[unbound-method] exempt all non-Promise built-in statics ([#&#8203;8096](https://github.com/typescript-eslint/typescript-eslint/issues/8096)) ([3182959](31829591e2))

##### Features

-   **eslint-plugin:** deprecate formatting (meta.type: layout) rules ([#&#8203;8073](https://github.com/typescript-eslint/typescript-eslint/issues/8073)) ([04dea84](04dea84e8e))
-   **eslint-plugin:** deprecate no-extra-semi in favor of ESLint Stylistic equivalent ([#&#8203;8123](https://github.com/typescript-eslint/typescript-eslint/issues/8123)) ([9368bf3](9368bf390a))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.15.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6150-2023-12-18)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.14.0...v6.15.0)

##### Features

-   **eslint-plugin:** \[no-useless-template-literals] add new rule ([#&#8203;7957](https://github.com/typescript-eslint/typescript-eslint/issues/7957)) ([ff75785](ff75785f4c)), closes [#&#8203;2846](https://github.com/typescript-eslint/typescript-eslint/issues/2846)
-   require-array-sort-compare + toSorted ([#&#8203;8052](https://github.com/typescript-eslint/typescript-eslint/issues/8052)) ([c9661c8](c9661c8bbf))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.14.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6140-2023-12-11)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.2...v6.14.0)

##### Bug Fixes

-   **eslint-plugin:** add no-unsafe-unary-minus, prefer-destructuring to disable-type-checked ([#&#8203;8038](https://github.com/typescript-eslint/typescript-eslint/issues/8038)) ([431cd15](431cd1559f))
-   **eslint-plugin:** correct message for `no-unsafe-unary-minus` ([#&#8203;7998](https://github.com/typescript-eslint/typescript-eslint/issues/7998)) ([705370a](705370ac0d))

##### Features

-   **eslint-plugin:** \[explicit-function-return-type] add support for typed class property definitions ([#&#8203;8027](https://github.com/typescript-eslint/typescript-eslint/issues/8027)) ([bff47d7](bff47d7885))
-   **eslint-plugin:** \[require-await] allow yielding Promise in async generators ([#&#8203;8003](https://github.com/typescript-eslint/typescript-eslint/issues/8003)) ([4c3e704](4c3e704b97))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### [6.13.2](https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2) (2023-12-04)

**Note:** Version bump only for package [@&#8203;typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### [6.13.1](https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.0...v6.13.1) (2023-11-28)

**Note:** Version bump only for package [@&#8203;typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.13.2`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6132-2023-12-04)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2)

**Note:** Version bump only for package [@&#8203;typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/130
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-01-16 19:11:33 +00:00
RenovateBot 05b15cde08 Update dependency @babel/traverse to v7.23.7 (#129)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@babel/traverse](https://babel.dev/docs/en/next/babel-traverse) ([source](https://github.com/babel/babel)) | resolutions | patch | [`7.23.5` -> `7.23.7`](https://renovatebot.com/diffs/npm/@babel%2ftraverse/7.23.5/7.23.7) |

---

### Release Notes

<details>
<summary>babel/babel (@&#8203;babel/traverse)</summary>

### [`v7.23.7`](https://github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7237-2023-12-29)

[Compare Source](https://github.com/babel/babel/compare/v7.23.6...v7.23.7)

##### 🐛 Bug Fix

-   `babel-traverse`
    -   [#&#8203;16191](https://github.com/babel/babel/pull/16191) fix: Crash when removing without `Program` ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helpers`, `babel-plugin-proposal-decorators`
    -   [#&#8203;16180](https://github.com/babel/babel/pull/16180) fix: Class decorator `ctx.kind` is wrong ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-plugin-proposal-decorators`
    -   [#&#8203;16170](https://github.com/babel/babel/pull/16170) Fix decorator initProto usage in derived classes ([@&#8203;JLHwung](https://github.com/JLHwung))
-   `babel-core`
    -   [#&#8203;16167](https://github.com/babel/babel/pull/16167) Avoid unpreventable `unhandledRejection` events ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))

##### 🏠 Internal

-   `babel-helper-create-class-features-plugin`
    -   [#&#8203;16186](https://github.com/babel/babel/pull/16186) chore: Update deps ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helper-create-class-features-plugin`, `babel-plugin-proposal-decorators`
    -   [#&#8203;16177](https://github.com/babel/babel/pull/16177) Merge decorators into class features ([@&#8203;JLHwung](https://github.com/JLHwung))

### [`v7.23.6`](https://github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7236-2023-12-11)

[Compare Source](https://github.com/babel/babel/compare/v7.23.5...v7.23.6)

##### 👓 Spec Compliance

-   `babel-generator`, `babel-parser`, `babel-types`
    -   [#&#8203;16154](https://github.com/babel/babel/pull/16154) Remove `TSPropertySignature.initializer` ([@&#8203;fisker](https://github.com/fisker))
-   `babel-helpers`, `babel-plugin-proposal-decorators`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-class-static-block`, `babel-plugin-transform-runtime`, `babel-preset-env`, `babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime`, `babel-types`
    -   [#&#8203;16139](https://github.com/babel/babel/pull/16139) Apply `toPropertyKey` on decorator context name ([@&#8203;JLHwung](https://github.com/JLHwung))

##### 🐛 Bug Fix

-   `babel-generator`
    -   [#&#8203;16166](https://github.com/babel/babel/pull/16166) fix: Correctly indenting when `retainLines` is enabled ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helpers`, `babel-plugin-proposal-explicit-resource-management`
    -   [#&#8203;16150](https://github.com/babel/babel/pull/16150) `using`: Allow looking up `Symbol.dispose` on a function ([@&#8203;odinho](https://github.com/odinho))
-   `babel-plugin-proposal-decorators`, `babel-plugin-transform-class-properties`
    -   [#&#8203;16161](https://github.com/babel/babel/pull/16161) Ensure the `[[@&#8203;@&#8203;toPrimitive]]` call of a decorated class member key is invoked once ([@&#8203;JLHwung](https://github.com/JLHwung))
    -   [#&#8203;16148](https://github.com/babel/babel/pull/16148) Support named evaluation for decorated anonymous class exp ([@&#8203;JLHwung](https://github.com/JLHwung))
-   `babel-plugin-transform-for-of`, `babel-preset-env`
    -   [#&#8203;16011](https://github.com/babel/babel/pull/16011) fix: `for of` with `iterableIsArray` and shadowing variable  ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helpers`, `babel-plugin-proposal-decorators`, `babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime`
    -   [#&#8203;16144](https://github.com/babel/babel/pull/16144) Set function name for decorated private non-field elements ([@&#8203;JLHwung](https://github.com/JLHwung))
-   `babel-plugin-transform-typescript`
    -   [#&#8203;16137](https://github.com/babel/babel/pull/16137) Fix references to enum values with merging ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))

##### 🔬 Output optimization

-   `babel-helper-create-class-features-plugin`, `babel-plugin-transform-class-properties`
    -   [#&#8203;16159](https://github.com/babel/babel/pull/16159) Reuse computed key memoiser ([@&#8203;JLHwung](https://github.com/JLHwung))
-   `babel-helpers`, `babel-plugin-proposal-decorators`
    -   [#&#8203;16160](https://github.com/babel/babel/pull/16160) Optimize decorator helper size ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/129
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-01-16 19:10:28 +00:00
RenovateBot 068ba8a86c Update dependency @types/jest to v29.5.11 (#126)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`29.5.10` -> `29.5.11`](https://renovatebot.com/diffs/npm/@types%2fjest/29.5.10/29.5.11) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/126
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-01-16 19:09:17 +00:00
Ethan Lane 5ea8b72e54 Add higher limit on json (#139)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Add higher limit on the json result
    - This will fix the tests not always fetching an image from r/rabbits, as not every post in the top is a single image

#125

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

# Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/139
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2024-01-12 17:48:37 +00:00
Ethan Lane bc4f024619 Fix tests (#136)
Some checks failed
continuous-integration/drone/push Build is failing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

#125

## Type of change

Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

# Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/136
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2024-01-09 19:00:52 +00:00
Ethan Lane beba61e4e2 Add sort option (#123)
Some checks failed
continuous-integration/drone/push Build is failing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Add sort option (`--sort`) to allow you to configure the sort by field
- Add query metadata option (`--query-metadata`, `-q`) to return the queried inputs
    - This helps with testing to ensure that the inputs are properly accepted

#74

## Type of change

Please delete options that are not relevant.

- [x] New feature (non-breaking change which adds functionality)
- [x] This change requires a documentation update

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

- Have tested manually and have added unit tests too
- I have added an option to include the query metadata to help with seeing if it worked

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that provde my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/123
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-12-08 17:10:00 +00:00
Ethan Lane a09beba4e4 Fix not being able to execute the code via ts-node (#122)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Removed ts-node
    - Since we can execute the code via unit tests and the command line now, it doesn't make to have this anymore as we can test using a proper CLI
    - This also fixes the issue we have with ts-node, with it not working on the latest node version

#75, #119

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

- This has been tested by running `yarn start`, and it now runs the cli interface

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/122
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-12-08 17:07:51 +00:00
RenovateBot 91f974be9d Update dependency @typescript-eslint/eslint-plugin to v6.13.1 (#121)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`6.12.0` -> `6.13.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.12.0/6.13.1) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v6.13.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6131-2023-11-28)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.13.0...v6.13.1)

**Note:** Version bump only for package [@&#8203;typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.13.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6130-2023-11-27)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.12.0...v6.13.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/121
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-12-04 17:24:20 +00:00
Vylpes 2d1d82e858 Merge pull request 'Update dependency @types/node to v20.10.3' (#120) from renovate/node-20.x-lockfile into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/120
Reviewed-by: Vylpes <ethan@vylpes.com>
2023-12-04 17:21:56 +00:00
RenovateBot 5a6c9ed3f5 Update dependency @babel/traverse to v7.23.5 (#113)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@babel/traverse](https://babel.dev/docs/en/next/babel-traverse) ([source](https://github.com/babel/babel)) | resolutions | patch | [`7.23.3` -> `7.23.5`](https://renovatebot.com/diffs/npm/@babel%2ftraverse/7.23.3/7.23.5) |

---

### Release Notes

<details>
<summary>babel/babel (@&#8203;babel/traverse)</summary>

### [`v7.23.5`](https://github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7235-2023-11-29)

[Compare Source](https://github.com/babel/babel/compare/v7.23.4...v7.23.5)

##### 👓 Spec Compliance

-   `babel-plugin-proposal-decorators`
    -   [#&#8203;16138](https://github.com/babel/babel/pull/16138) Class binding is in TDZ during decorators initialization ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-helpers`, `babel-plugin-proposal-decorators`
    -   [#&#8203;16132](https://github.com/babel/babel/pull/16132) Allow addInitializer in field decorator context ([@&#8203;JLHwung](https://github.com/JLHwung))

##### 🐛 Bug Fix

-   `babel-traverse`, `babel-types`
    -   [#&#8203;16131](https://github.com/babel/babel/pull/16131) Do not remove bindings when removing assignment expression path ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-plugin-transform-classes`
    -   [#&#8203;16135](https://github.com/babel/babel/pull/16135) Require class properties transform when compiling class with private fields ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-generator`
    -   [#&#8203;16122](https://github.com/babel/babel/pull/16122) fix: Missing parentheses after line break ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-helpers`
    -   [#&#8203;16130](https://github.com/babel/babel/pull/16130) Fix helpers internal fns names conflict resolution  ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-helper-create-class-features-plugin`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-typescript`
    -   [#&#8203;16123](https://github.com/babel/babel/pull/16123) Simplify class fields injetion after `super()` ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
-   `babel-generator`, `babel-plugin-transform-modules-commonjs`, `babel-plugin-transform-parameters`, `babel-plugin-transform-typescript`, `babel-traverse`
    -   [#&#8203;16110](https://github.com/babel/babel/pull/16110) fix: Unexpected duplication of comments ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
-   `babel-eslint-plugin`
    -   [#&#8203;16023](https://github.com/babel/babel/pull/16023) Add `@babel/eslint-plugin/no-undef` to fix `no-undef` with accessor props ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))

##### 🔬 Output optimization

-   `babel-helpers`
    -   [#&#8203;16129](https://github.com/babel/babel/pull/16129) Optimize `decorator` helper size ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

### [`v7.23.4`](https://github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7234-2023-11-20)

[Compare Source](https://github.com/babel/babel/compare/v7.23.3...v7.23.4)

##### 🐛 Bug Fix

-   `babel-generator`
    -   [#&#8203;16104](https://github.com/babel/babel/pull/16104) fix: Pure comments missing parentheses ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/113
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-12-04 17:20:36 +00:00
RenovateBot f31f40ff28 Update dependency eslint to v8.55.0 (#109)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`8.51.0` -> `8.55.0`](https://renovatebot.com/diffs/npm/eslint/8.51.0/8.55.0) |
| [@types/eslint](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`8.44.4` -> `8.44.8`](https://renovatebot.com/diffs/npm/@types%2feslint/8.44.4/8.44.8) |

---

### Release Notes

<details>
<summary>eslint/eslint (eslint)</summary>

### [`v8.55.0`](https://github.com/eslint/eslint/releases/tag/v8.55.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.54.0...v8.55.0)

#### Features

-   [`8c9e6c1`](8c9e6c100a) feat: importNamePattern option in no-restricted-imports ([#&#8203;17721](https://github.com/eslint/eslint/issues/17721)) (Tanuj Kanti)

#### Documentation

-   [`83ece2a`](83ece2afc2) docs: fix typo `--rules` -> `--rule` ([#&#8203;17806](https://github.com/eslint/eslint/issues/17806)) (OKURA Masafumi)
-   [`fffca5c`](fffca5c362) docs: remove "Open in Playground" buttons for removed rules ([#&#8203;17791](https://github.com/eslint/eslint/issues/17791)) (Francesco Trotta)
-   [`a6d9442`](a6d9442a9a) docs: fix correct/incorrect examples of rules ([#&#8203;17789](https://github.com/eslint/eslint/issues/17789)) (Tanuj Kanti)
-   [`383e999`](383e99928d) docs: update and fix examples for `no-unused-vars` ([#&#8203;17788](https://github.com/eslint/eslint/issues/17788)) (Tanuj Kanti)
-   [`5a8efd5`](5a8efd5b7a) docs: add specific stylistic rule for each deprecated rule ([#&#8203;17778](https://github.com/eslint/eslint/issues/17778)) (Etienne)

#### Chores

-   [`eb8950c`](eb8950c3b8) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).55.0 ([#&#8203;17811](https://github.com/eslint/eslint/issues/17811)) (Milos Djermanovic)
-   [`93df384`](93df3849a7) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (Jenkins)
-   [`fe4b954`](fe4b9545a8) chore: upgrade [@&#8203;eslint/eslintrc](https://github.com/eslint/eslintrc)[@&#8203;2](https://github.com/2).1.4 ([#&#8203;17799](https://github.com/eslint/eslint/issues/17799)) (Milos Djermanovic)
-   [`bd8911d`](bd8911db85) ci: pin Node.js 21.2.0 ([#&#8203;17809](https://github.com/eslint/eslint/issues/17809)) (Milos Djermanovic)
-   [`b29a16b`](b29a16b22f) chore: fix several `cli` tests to run in the intended flat config mode ([#&#8203;17797](https://github.com/eslint/eslint/issues/17797)) (Milos Djermanovic)
-   [`de165c1`](de165c1082) chore: remove unused config-extends fixtures ([#&#8203;17781](https://github.com/eslint/eslint/issues/17781)) (Milos Djermanovic)
-   [`d4304b8`](d4304b8b66) chore: remove formatting/stylistic rules from new rule templates ([#&#8203;17780](https://github.com/eslint/eslint/issues/17780)) (Francesco Trotta)
-   [`21024fe`](21024fe202) chore: check rule examples for syntax errors ([#&#8203;17718](https://github.com/eslint/eslint/issues/17718)) (Francesco Trotta)

### [`v8.54.0`](https://github.com/eslint/eslint/releases/tag/v8.54.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.53.0...v8.54.0)

#### Features

-   [`a7a883b`](a7a883bd6b) feat: for-direction rule add check for condition in reverse order ([#&#8203;17755](https://github.com/eslint/eslint/issues/17755)) (Angelo Annunziata)
-   [`1452dc9`](1452dc9f12) feat: Add suggestions to no-console ([#&#8203;17680](https://github.com/eslint/eslint/issues/17680)) (Joel Mathew Koshy)
-   [`21ebf8a`](21ebf8a811) feat: update `no-array-constructor` rule ([#&#8203;17711](https://github.com/eslint/eslint/issues/17711)) (Francesco Trotta)

#### Bug Fixes

-   [`98926e6`](98926e6e73) fix: Ensure that extra data is not accidentally stored in the cache file ([#&#8203;17760](https://github.com/eslint/eslint/issues/17760)) (Milos Djermanovic)
-   [`e8cf9f6`](e8cf9f6a52) fix: Make dark scroll bar in dark theme ([#&#8203;17753](https://github.com/eslint/eslint/issues/17753)) (Pavel)
-   [`3cbeaad`](3cbeaad7b9) fix: Use `cwd` constructor option as config `basePath` in Linter ([#&#8203;17705](https://github.com/eslint/eslint/issues/17705)) (Milos Djermanovic)

#### Documentation

-   [`becfdd3`](becfdd39b2) docs: Make clear when rules are removed ([#&#8203;17728](https://github.com/eslint/eslint/issues/17728)) (Nicholas C. Zakas)
-   [`05d6e99`](05d6e99153) docs: update "Submit a Pull Request" page ([#&#8203;17712](https://github.com/eslint/eslint/issues/17712)) (Francesco Trotta)
-   [`eb2279e`](eb2279e514) docs: display info about deprecated rules ([#&#8203;17749](https://github.com/eslint/eslint/issues/17749)) (Percy Ma)
-   [`d245326`](d24532601e) docs: Correct working in migrating plugin docs ([#&#8203;17722](https://github.com/eslint/eslint/issues/17722)) (Filip Tammergård)

#### Chores

-   [`d644de9`](d644de9a4b) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).54.0 ([#&#8203;17773](https://github.com/eslint/eslint/issues/17773)) (Milos Djermanovic)
-   [`1e6e314`](1e6e31415c) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (Jenkins)
-   [`6fb8805`](6fb8805310) chore: Fixed grammar in issue_templates/rule_change ([#&#8203;17770](https://github.com/eslint/eslint/issues/17770)) (Joel Mathew Koshy)
-   [`85db724`](85db7243dd) chore: upgrade `markdownlint` to 0.31.1 ([#&#8203;17754](https://github.com/eslint/eslint/issues/17754)) (Nitin Kumar)
-   [`6d470d2`](6d470d2e74) chore: update dependency recast to ^0.23.0 ([#&#8203;17736](https://github.com/eslint/eslint/issues/17736)) (renovate\[bot])
-   [`b7121b5`](b7121b590d) chore: update dependency markdownlint-cli to ^0.37.0 ([#&#8203;17735](https://github.com/eslint/eslint/issues/17735)) (renovate\[bot])
-   [`633b9a1`](633b9a1975) chore: update dependency regenerator-runtime to ^0.14.0 ([#&#8203;17739](https://github.com/eslint/eslint/issues/17739)) (renovate\[bot])
-   [`acac16f`](acac16fdf8) chore: update dependency vite-plugin-commonjs to ^0.10.0 ([#&#8203;17740](https://github.com/eslint/eslint/issues/17740)) (renovate\[bot])
-   [`ba8ca7e`](ba8ca7e3de) chore: add .github/renovate.json5 ([#&#8203;17567](https://github.com/eslint/eslint/issues/17567)) (Josh Goldberg )

### [`v8.53.0`](https://github.com/eslint/eslint/releases/tag/v8.53.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.52.0...v8.53.0)

#### Features

-   [`528e1c0`](528e1c00dc) feat: Deprecate formatting rules ([#&#8203;17696](https://github.com/eslint/eslint/issues/17696)) (Nicholas C. Zakas)
-   [`c0b11dd`](c0b11ddb9f) feat: Add suggestions for no-prototype-builtins ([#&#8203;17677](https://github.com/eslint/eslint/issues/17677)) (Yonathan Randolph)

#### Bug Fixes

-   [`1ad6257`](1ad6257744) fix: ensure that exit code for fatal errors is not overwritten ([#&#8203;17683](https://github.com/eslint/eslint/issues/17683)) (Milos Djermanovic)
-   [`b329ea7`](b329ea748d) fix: add `;` after JSX nodes in  `no-object-constructor` autofix ([#&#8203;17672](https://github.com/eslint/eslint/issues/17672)) (Francesco Trotta)

#### Documentation

-   [`ab8c60d`](ab8c60d4f8) docs: change position of return to top button ([#&#8203;17688](https://github.com/eslint/eslint/issues/17688)) (Tanuj Kanti)
-   [`4fc44c0`](4fc44c0b8c) docs: update twitter icon to new X icon ([#&#8203;17687](https://github.com/eslint/eslint/issues/17687)) (Tanuj Kanti)
-   [`4164b2c`](4164b2ceec) docs: Update README (GitHub Actions Bot)
-   [`8651895`](8651895ca7) docs: Fix tabs in rule examples ([#&#8203;17653](https://github.com/eslint/eslint/issues/17653)) (Francesco Trotta)
-   [`3aec1c5`](3aec1c55ba) docs: explained rule fixers and suggestions ([#&#8203;17657](https://github.com/eslint/eslint/issues/17657)) (Josh Goldberg )

#### Chores

-   [`ba4d4d5`](ba4d4d567a) chore: remove metascraper ([#&#8203;17707](https://github.com/eslint/eslint/issues/17707)) (Milos Djermanovic)
-   [`0d07338`](0d07338829) chore: Update dependencies ([#&#8203;17706](https://github.com/eslint/eslint/issues/17706)) (Milos Djermanovic)
-   [`93256a3`](93256a32e3) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`485ec7d`](485ec7d08e) test: fix ESLint tests for caching ([#&#8203;17699](https://github.com/eslint/eslint/issues/17699)) (Milos Djermanovic)
-   [`db06a7f`](db06a7ff79) ci: bump actions/setup-node from 3 to 4 ([#&#8203;17676](https://github.com/eslint/eslint/issues/17676)) (dependabot\[bot])
-   [`994596b`](994596b07f) ci: run tests in Node.js 21 ([#&#8203;17673](https://github.com/eslint/eslint/issues/17673)) (Francesco Trotta)

### [`v8.52.0`](https://github.com/eslint/eslint/releases/tag/v8.52.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.51.0...v8.52.0)

#### Features

-   [`70648ee`](70648ee49c) feat: report-unused-disable-directive to report unused eslint-enable ([#&#8203;17611](https://github.com/eslint/eslint/issues/17611)) (Yosuke Ota)

#### Bug Fixes

-   [`5de9637`](5de9637fc9) fix: Ensure shared references in rule configs are separated ([#&#8203;17666](https://github.com/eslint/eslint/issues/17666)) (Nicholas C. Zakas)
-   [`dcfe573`](dcfe5739c3) fix: add preceding semicolon in suggestions of `no-object-constructor` ([#&#8203;17649](https://github.com/eslint/eslint/issues/17649)) (Francesco Trotta)

#### Documentation

-   [`476d58a`](476d58a584) docs: Add note about invalid CLI flags when using flat config. ([#&#8203;17664](https://github.com/eslint/eslint/issues/17664)) (Nicholas C. Zakas)
-   [`660ed3a`](660ed3afd1) docs: Plugin flat config migration guide ([#&#8203;17640](https://github.com/eslint/eslint/issues/17640)) (Nicholas C. Zakas)
-   [`a58aa20`](a58aa200fc) docs: fix examples for several rules ([#&#8203;17645](https://github.com/eslint/eslint/issues/17645)) (Milos Djermanovic)
-   [`179929b`](179929bd46) docs: Remove trailing newline from the code of Playground links ([#&#8203;17641](https://github.com/eslint/eslint/issues/17641)) (Francesco Trotta)
-   [`f8e5c30`](f8e5c30636) docs: Update README (GitHub Actions Bot)
-   [`b7ef2f3`](b7ef2f34fe) docs: Enable pretty code formatter output ([#&#8203;17635](https://github.com/eslint/eslint/issues/17635)) (Nicholas C. Zakas)
-   [`0bcb9a8`](0bcb9a8db6) docs: Fix syntax errors in rule examples ([#&#8203;17633](https://github.com/eslint/eslint/issues/17633)) (Francesco Trotta)
-   [`61b9083`](61b9083963) docs: Make no-continue example code work ([#&#8203;17643](https://github.com/eslint/eslint/issues/17643)) (Zhongyuan Zhou)
-   [`9fafe45`](9fafe450c3) docs: upgrade to 11ty 2.0 ([#&#8203;17632](https://github.com/eslint/eslint/issues/17632)) (Percy Ma)
-   [`ff8e4bf`](ff8e4bf327) docs: Update README (GitHub Actions Bot)
-   [`fab249a`](fab249ae6a) docs: Update README (GitHub Actions Bot)
-   [`392305b`](392305bf47) docs: Update `no-irregular-whitespace` and fix examples ([#&#8203;17626](https://github.com/eslint/eslint/issues/17626)) (Francesco Trotta)
-   [`6b8acfb`](6b8acfb770) docs: Add real whitespace to `no-trailing-spaces` examples ([#&#8203;17630](https://github.com/eslint/eslint/issues/17630)) (Francesco Trotta)
-   [`1000187`](1000187e00) docs: Fix examples in `unicode-bom` ([#&#8203;17631](https://github.com/eslint/eslint/issues/17631)) (Francesco Trotta)
-   [`000290c`](000290c4c9) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`6d1f0c2`](6d1f0c2da0) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).52.0 ([#&#8203;17671](https://github.com/eslint/eslint/issues/17671)) (Milos Djermanovic)
-   [`d63d4fe`](d63d4fe094) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`f30cefe`](f30cefee6b) test: fix FlatESLint tests for caching ([#&#8203;17658](https://github.com/eslint/eslint/issues/17658)) (Milos Djermanovic)
-   [`ef650cb`](ef650cb612) test: update tests for no-promise-executor-return ([#&#8203;17661](https://github.com/eslint/eslint/issues/17661)) (Milos Djermanovic)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/109
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-12-04 17:19:33 +00:00
RenovateBot 8f9074f744 Update dependency @types/node to v20.10.3
All checks were successful
continuous-integration/drone/push Build is passing
2023-12-04 11:32:23 +00:00
Ethan Lane 09e8ef769f Add subreddit CLI option (#118)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Add `-s` and `--subreddit` CLI options to change the subreddit
- Defaults to "rabbits"

#75

## Type of change

Please delete options that are not relevant.

- [x] New feature (non-breaking change which adds functionality)
- [x] This change requires a documentation update

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that provde my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/118
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-12-01 18:15:18 +00:00
RenovateBot dbc394598d Update dependency @types/jest to v29.5.10 (#114)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`29.5.8` -> `29.5.10`](https://renovatebot.com/diffs/npm/@types%2fjest/29.5.8/29.5.10) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/114
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-27 17:53:04 +00:00
RenovateBot f132d62409 Update dependency @typescript-eslint/eslint-plugin to v6.12.0 (#107)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`6.8.0` -> `6.12.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.8.0/6.12.0) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v6.12.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6120-2023-11-20)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.11.0...v6.12.0)

##### Bug Fixes

-   **eslint-plugin:** \[class-methods-use-this] detect a problematic case for private/protected members if `ignoreClassesThatImplementAnInterface` is set ([#&#8203;7705](https://github.com/typescript-eslint/typescript-eslint/issues/7705)) ([155aa1f](155aa1f533))
-   **eslint-plugin:** \[no-unnecessary-condition] fix false positive with computed member access and branded key type ([#&#8203;7706](https://github.com/typescript-eslint/typescript-eslint/issues/7706)) ([f151b26](f151b26d21))
-   **eslint-plugin:** \[switch-exhaustiveness-check] enum members with new line or single quotes are not being fixed correctly ([#&#8203;7806](https://github.com/typescript-eslint/typescript-eslint/issues/7806)) ([a034d0a](a034d0a385)), closes [#&#8203;7768](https://github.com/typescript-eslint/typescript-eslint/issues/7768)

##### Features

-   \[member-ordering] add accessor support for member-ordering ([#&#8203;7927](https://github.com/typescript-eslint/typescript-eslint/issues/7927)) ([3c8312d](3c8312d1e1))
-   **eslint-plugin:** \[switch-exhaustiveness-check] add requireDefaultForNonUnion option ([#&#8203;7880](https://github.com/typescript-eslint/typescript-eslint/issues/7880)) ([4cfcd45](4cfcd451ef))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.11.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6110-2023-11-13)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.10.0...v6.11.0)

##### Bug Fixes

-   **eslint-plugin:** \[explicit-function-return-type] support JSX attributes in `allowTypedFunctionExpressions` ([#&#8203;7553](https://github.com/typescript-eslint/typescript-eslint/issues/7553)) ([be2777c](be2777c533))
-   **eslint-plugin:** \[no-unnecessary-qualifier] handle nested namespace id ([#&#8203;7883](https://github.com/typescript-eslint/typescript-eslint/issues/7883)) ([a668f5b](a668f5b10e))

##### Features

-   add `no-unsafe-unary-minus` rule ([#&#8203;7390](https://github.com/typescript-eslint/typescript-eslint/issues/7390)) ([c4709c2](c4709c2861))
-   add types for flat config files ([#&#8203;7273](https://github.com/typescript-eslint/typescript-eslint/issues/7273)) ([66cd0c0](66cd0c0535))
-   allow typescript@5.3.0-RC as devDependency ([#&#8203;7821](https://github.com/typescript-eslint/typescript-eslint/issues/7821)) ([b6c40b4](b6c40b42b6))
-   **eslint-plugin:** no-unsafe-enum-comparison handles switch cases ([#&#8203;7898](https://github.com/typescript-eslint/typescript-eslint/issues/7898)) ([72cb9e4](72cb9e4ed3))
-   **utils:** add ESLint `CodePath` selector types ([#&#8203;7551](https://github.com/typescript-eslint/typescript-eslint/issues/7551)) ([99a026f](99a026fe41))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.10.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6100-2023-11-06)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.9.1...v6.10.0)

##### Bug Fixes

-   **eslint-plugin:** \[no-unused-vars] handle logical assignment ([#&#8203;7854](https://github.com/typescript-eslint/typescript-eslint/issues/7854)) ([11e57c5](11e57c5937))
-   **eslint-plugin:** \[require-await] add support for "await using" ([#&#8203;7866](https://github.com/typescript-eslint/typescript-eslint/issues/7866)) ([855abea](855abea2d7))

##### Features

-   **eslint-plugin:** \[ban-ts-comments] suggest ts-expect-error over ts-ignore ([#&#8203;7849](https://github.com/typescript-eslint/typescript-eslint/issues/7849)) ([5e73a48](5e73a4810a))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### [6.9.1](https://github.com/typescript-eslint/typescript-eslint/compare/v6.9.0...v6.9.1) (2023-10-30)

##### Bug Fixes

-   **eslint-plugin:** \[naming-convention] allow PascalCase for imports ([#&#8203;7841](https://github.com/typescript-eslint/typescript-eslint/issues/7841)) ([7ad86ee](7ad86eead7))
-   **eslint-plugin:** \[no-unused-expressions] handle TSInstantiationExpression expression ([#&#8203;7831](https://github.com/typescript-eslint/typescript-eslint/issues/7831)) ([31988e0](31988e0d2e))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.9.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#691-2023-10-30)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.9.0...v6.9.1)

##### Bug Fixes

-   **eslint-plugin:** \[naming-convention] allow PascalCase for imports ([#&#8203;7841](https://github.com/typescript-eslint/typescript-eslint/issues/7841)) ([7ad86ee](7ad86eead7))
-   **eslint-plugin:** \[no-unused-expressions] handle TSInstantiationExpression expression ([#&#8203;7831](https://github.com/typescript-eslint/typescript-eslint/issues/7831)) ([31988e0](31988e0d2e))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.9.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#690-2023-10-23)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.8.0...v6.9.0)

##### Bug Fixes

-   **eslint-plugin:** \[no-confusing-void-expression] handle unfixable cases ([#&#8203;7674](https://github.com/typescript-eslint/typescript-eslint/issues/7674)) ([7e52f27](7e52f276ed))
-   **eslint-plugin:** \[no-unsafe-return] allow returning anything if explicitly returning any ([#&#8203;7708](https://github.com/typescript-eslint/typescript-eslint/issues/7708)) ([c6124b2](c6124b2c93))

##### Features

-   **eslint-plugin:** \[max-params] don't count `this: void` parameter ([#&#8203;7696](https://github.com/typescript-eslint/typescript-eslint/issues/7696)) ([6398d3f](6398d3fd0a)), closes [#&#8203;7538](https://github.com/typescript-eslint/typescript-eslint/issues/7538)
-   **eslint-plugin:** \[naming-convention] add support for default and namespace imports ([#&#8203;7269](https://github.com/typescript-eslint/typescript-eslint/issues/7269)) ([bb15aae](bb15aae877))
-   **eslint-plugin:** \[no-restricted-imports] support import = require ([#&#8203;7709](https://github.com/typescript-eslint/typescript-eslint/issues/7709)) ([4c8edcf](4c8edcfb7d))
-   **eslint-plugin:** \[no-unsafe-enum-comparison] add switch suggestion ([#&#8203;7691](https://github.com/typescript-eslint/typescript-eslint/issues/7691)) ([53d5263](53d5263cee)), closes [#&#8203;7643](https://github.com/typescript-eslint/typescript-eslint/issues/7643)
-   **eslint-plugin:** \[prefer-readonly] private fields support ([#&#8203;7686](https://github.com/typescript-eslint/typescript-eslint/issues/7686)) ([0e875bf](0e875bf77a))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/107
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-27 17:51:37 +00:00
RenovateBot 536faecfbb Update dependency @types/node to v20.10.0 (#106)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | minor | [`20.8.7` -> `20.10.0`](https://renovatebot.com/diffs/npm/@types%2fnode/20.8.7/20.10.0) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/106
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-27 17:50:00 +00:00
Ethan Lane 3f25c25315 Merge branch 'master' into develop
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-10 18:56:35 +00:00
Ethan Lane 27e08e6f86 v2.1.5
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-10 18:51:46 +00:00
Ethan Lane c49bcaea5b Save package lockfile 2023-11-10 18:51:22 +00:00
Ethan Lane ae1c67e032 Resolve package @babel/traverse to 7.23.2
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-10 18:48:46 +00:00
Ethan Lane 2a70daaf99 feature/71-basic-cli (#104)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Install Commander package
- Add basic CLI interface to the package

#71

## Type of change

Please delete options that are not relevant.

- [x] New feature (non-breaking change which adds functionality)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

- I have added unit tests for the CLI as it is so far, no commands have been added yet

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that provde my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/104
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-10-27 15:53:12 +01:00
RenovateBot b06c5ed089 Update dependency @types/node to v20.8.7 (#103)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`20.8.6` -> `20.8.7`](https://renovatebot.com/diffs/npm/@types%2fnode/20.8.6/20.8.7) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/103
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-10-23 13:27:56 +01:00
RenovateBot 2757146ac9 Update dependency @types/jest to v29.5.6 (#102)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`29.5.5` -> `29.5.6`](https://renovatebot.com/diffs/npm/@types%2fjest/29.5.5/29.5.6) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/102
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-10-23 13:27:16 +01:00
RenovateBot 9aaeb9e060 Update dependency ts-jest to v29.1.1 (#84)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | devDependencies | patch | [`29.1.0` -> `29.1.1`](https://renovatebot.com/diffs/npm/ts-jest/29.1.0/29.1.1) |

---

### Release Notes

<details>
<summary>kulshekhar/ts-jest (ts-jest)</summary>

### [`v29.1.1`](f208af917e...9670787b08)

[Compare Source](f208af917e...9670787b08)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44OS4wIiwidXBkYXRlZEluVmVyIjoiMzcuMC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCJ9-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/84
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-10-23 13:26:21 +01:00
RenovateBot 379e828905 Update dependency @typescript-eslint/eslint-plugin to v6 (#77)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | major | [`^5.54.0` -> `^6.0.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.59.6/6.8.0) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v6.8.0`](36aecb6a83...d475f88575)

[Compare Source](36aecb6a83...d475f88575)

### [`v6.7.5`](d948dc4a21...36aecb6a83)

[Compare Source](d948dc4a21...36aecb6a83)

### [`v6.7.4`](91a3e0c85a...d948dc4a21)

[Compare Source](91a3e0c85a...d948dc4a21)

### [`v6.7.3`](ddb858981f...91a3e0c85a)

[Compare Source](ddb858981f...91a3e0c85a)

### [`v6.7.2`](79ffff05db...ddb858981f)

[Compare Source](79ffff05db...ddb858981f)

### [`v6.7.0`](a3a3932129...79ffff05db)

[Compare Source](a3a3932129...79ffff05db)

### [`v6.6.0`](4f34d0ba34...a3a3932129)

[Compare Source](4f34d0ba34...a3a3932129)

### [`v6.5.0`](ef1367eeed...4f34d0ba34)

[Compare Source](ef1367eeed...4f34d0ba34)

### [`v6.4.1`](14bea42e48...ef1367eeed)

[Compare Source](14bea42e48...ef1367eeed)

### [`v6.4.0`](0a1de14ba2...14bea42e48)

[Compare Source](0a1de14ba2...14bea42e48)

### [`v6.3.0`](948b061462...0a1de14ba2)

[Compare Source](948b061462...0a1de14ba2)

### [`v6.2.1`](c869aa1792...948b061462)

[Compare Source](c869aa1792...948b061462)

### [`v6.2.0`](d98f1e811a...c869aa1792)

[Compare Source](d98f1e811a...c869aa1792)

### [`v6.1.0`](6ae1fa74b1...d98f1e811a)

[Compare Source](6ae1fa74b1...d98f1e811a)

### [`v6.0.0`](cba0d113bb...6ae1fa74b1)

[Compare Source](cba0d113bb...6ae1fa74b1)

### [`v5.62.0`](2f46341a14...cba0d113bb)

[Compare Source](2f46341a14...cba0d113bb)

### [`v5.61.0`](f74862cbfb...2f46341a14)

[Compare Source](f74862cbfb...2f46341a14)

### [`v5.60.1`](c09b1c0252...f74862cbfb)

[Compare Source](c09b1c0252...f74862cbfb)

### [`v5.60.0`](a91bb9e264...c09b1c0252)

[Compare Source](a91bb9e264...c09b1c0252)

### [`v5.59.11`](9768e989d3...a91bb9e264)

[Compare Source](9768e989d3...a91bb9e264)

### [`v5.59.10`](a2b6b2e0a1...9768e989d3)

[Compare Source](a2b6b2e0a1...9768e989d3)

### [`v5.59.9`](391a6702c0...a2b6b2e0a1)

[Compare Source](391a6702c0...a2b6b2e0a1)

### [`v5.59.8`](5166a00e1a...391a6702c0)

[Compare Source](5166a00e1a...391a6702c0)

### [`v5.59.7`](5b0e577f25...5166a00e1a)

[Compare Source](5b0e577f25...5166a00e1a)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzcuMC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCJ9-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/77
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-10-23 13:25:22 +01:00
Ethan Lane 04ed2d7414 Fix fetch not using error system when unable to fetch (#100)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Fix the fetch not failing gracefully using the new error handler

#91

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

- Updated the tests to be more accurate to the fetching package by using a promise reject
- Tested the code by turning my wifi off and ensuring the output is the new error handler

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that provde my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/100
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-10-20 17:31:38 +01:00
RenovateBot 9137ddbc0d Update dependency typescript to v5.2.2 (#97)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/Microsoft/TypeScript)) | devDependencies | minor | [`5.0.4` -> `5.2.2`](https://renovatebot.com/diffs/npm/typescript/5.0.4/5.2.2) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/97
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-10-16 19:16:36 +01:00
RenovateBot 653ec93a8f Update dependency jest to v29.7.0 (#96)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [jest](https://jestjs.io/) ([source](https://github.com/jestjs/jest)) | devDependencies | minor | [`29.5.0` -> `29.7.0`](https://renovatebot.com/diffs/npm/jest/29.5.0/29.7.0) |
| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`29.5.1` -> `29.5.5`](https://renovatebot.com/diffs/npm/@types%2fjest/29.5.1/29.5.5) |

---

### Release Notes

<details>
<summary>jestjs/jest (jest)</summary>

### [`v29.7.0`](55cd6a0aaf...4e56991693)

[Compare Source](55cd6a0aaf...4e56991693)

### [`v29.6.4`](fb7d95c8af...55cd6a0aaf)

[Compare Source](fb7d95c8af...55cd6a0aaf)

### [`v29.6.3`](0fd5b1c375...fb7d95c8af)

[Compare Source](0fd5b1c375...fb7d95c8af)

### [`v29.6.2`](1f019afdcd...0fd5b1c375)

[Compare Source](1f019afdcd...0fd5b1c375)

### [`v29.6.1`](c1e5b8a38e...1f019afdcd)

[Compare Source](c1e5b8a38e...1f019afdcd)

### [`v29.6.0`](39f3beda6b...c1e5b8a38e)

[Compare Source](39f3beda6b...c1e5b8a38e)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/96
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-10-16 19:15:47 +01:00
RenovateBot d69087e6ee Update dependency eslint to v8.51.0 (#94)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`8.49.0` -> `8.51.0`](https://renovatebot.com/diffs/npm/eslint/8.49.0/8.51.0) |
| [@types/eslint](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | minor | [`8.37.0` -> `8.44.4`](https://renovatebot.com/diffs/npm/@types%2feslint/8.37.0/8.44.4) |

---

### Release Notes

<details>
<summary>eslint/eslint (eslint)</summary>

### [`v8.51.0`](299bfae125...f0793828fd)

[Compare Source](299bfae125...f0793828fd)

### [`v8.50.0`](55c1685aab...299bfae125)

[Compare Source](55c1685aab...299bfae125)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/94
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-10-16 19:13:29 +01:00
RenovateBot a9d5a77ca4 Update dependency @types/node to v20.8.6 (#93)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | minor | [`20.6.0` -> `20.8.6`](https://renovatebot.com/diffs/npm/@types%2fnode/20.6.0/20.8.6) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/93
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-10-16 19:12:27 +01:00
Ethan Lane 037608e059 Add error codes and error messages to failed results (#89)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

- Added an Error Code (enum) and Error Message (string) to all the failed results

#53

## Type of change

Please delete options that are not relevant.

- [x] New feature (non-breaking change which adds functionality)

# How Has This Been Tested?

- This has been tested both manually as well as the unit tests

# Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/89
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-09-15 15:18:57 +01:00
Ethan Lane 07c37e2c06 Add default value to sortBy variable (#87)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

- Add default value to the sortBy variable ('hot')

#50

## Type of change

Please delete options that are not relevant.

- [x] New feature (non-breaking change which adds functionality)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

# Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/87
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-09-15 15:15:34 +01:00
Ethan Lane ba5ccb54cf Regenerate lockfile
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-13 13:20:54 +01:00
Ethan Lane 30e84df5b3 Merge branch 'master' into develop
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-13 13:20:07 +01:00
RenovateBot e10bdaf115 Update dependency @types/node to v20.6.0 (#85)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | minor | [`20.2.3` -> `20.6.0`](https://renovatebot.com/diffs/npm/@types%2fnode/20.2.3/20.6.0) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44OS4wIiwidXBkYXRlZEluVmVyIjoiMzYuODkuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/85
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-09-11 20:33:40 +01:00
RenovateBot 4a85620e47 Update dependency jest-mock-extended to v3.0.5 (#83)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [jest-mock-extended](https://github.com/marchaos/jest-mock-extended) | devDependencies | patch | [`3.0.4` -> `3.0.5`](https://renovatebot.com/diffs/npm/jest-mock-extended/3.0.4/3.0.5) |

---

### Release Notes

<details>
<summary>marchaos/jest-mock-extended (jest-mock-extended)</summary>

### [`v3.0.5`](https://github.com/marchaos/jest-mock-extended/releases/tag/3.0.5)

[Compare Source](https://github.com/marchaos/jest-mock-extended/compare/3.0.4...3.0.5)

Fixed Deep Mock perf issue with https://github.com/marchaos/jest-mock-extended/pull/123

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44OS4wIiwidXBkYXRlZEluVmVyIjoiMzYuODkuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/83
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-09-11 20:32:54 +01:00
RenovateBot 439bce6fac Update dependency np to v8 (#67)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [np](https://github.com/sindresorhus/np) | devDependencies | major | [`^7.7.0` -> `^8.0.0`](https://renovatebot.com/diffs/npm/np/7.7.0/8.0.4) |

---

### Release Notes

<details>
<summary>sindresorhus/np (np)</summary>

### [`v8.0.4`](https://github.com/sindresorhus/np/releases/tag/v8.0.4)

[Compare Source](https://github.com/sindresorhus/np/compare/v8.0.3...v8.0.4)

-   Handle first time display of dependencies ([#&#8203;707](https://github.com/sindresorhus/np/issues/707))  [`3f43d78`](https://github.com/sindresorhus/np/commit/3f43d78)

### [`v8.0.3`](https://github.com/sindresorhus/np/releases/tag/v8.0.3)

[Compare Source](https://github.com/sindresorhus/np/compare/v8.0.2...v8.0.3)

-   Fix skipping publish step ([#&#8203;706](https://github.com/sindresorhus/np/issues/706))  [`51dcc2d`](https://github.com/sindresorhus/np/commit/51dcc2d)

### [`v8.0.2`](https://github.com/sindresorhus/np/releases/tag/v8.0.2)

[Compare Source](https://github.com/sindresorhus/np/compare/v8.0.1...v8.0.2)

-   Fix publish not working with Yarn  [`3d448c2`](https://github.com/sindresorhus/np/commit/3d448c2)
-   Include stack trace in errors  [`12fce88`](https://github.com/sindresorhus/np/commit/12fce88)

### [`v8.0.1`](https://github.com/sindresorhus/np/releases/tag/v8.0.1)

[Compare Source](https://github.com/sindresorhus/np/compare/v8.0.0...v8.0.1)

-   Fix a crash in the new dependency check  [`beb7db1`](https://github.com/sindresorhus/np/commit/beb7db1)

### [`v8.0.0`](https://github.com/sindresorhus/np/releases/tag/v8.0.0)

[Compare Source](https://github.com/sindresorhus/np/compare/v7.7.0...v8.0.0)

##### Breaking

-   Require Node.js 16 ([#&#8203;683](https://github.com/sindresorhus/np/issues/683))  [`72879e0`](https://github.com/sindresorhus/np/commit/72879e0)

##### Improvements

-   Add 2FA support for npm version 9+ ([#&#8203;693](https://github.com/sindresorhus/np/issues/693))  [`9cb4bfd`](https://github.com/sindresorhus/np/commit/9cb4bfd)
-   Improve startup time ([#&#8203;688](https://github.com/sindresorhus/np/issues/688))  [`eba203f`](https://github.com/sindresorhus/np/commit/eba203f)
-   Improve the reliability of detecting which files will be included in the package ([#&#8203;682](https://github.com/sindresorhus/np/issues/682))  [`a6ce792`](https://github.com/sindresorhus/np/commit/a6ce792)
-   Add check for new dependencies ([#&#8203;681](https://github.com/sindresorhus/np/issues/681))  [`6867fb9`](https://github.com/sindresorhus/np/commit/6867fb9)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzYuODkuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/67
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-09-11 20:31:50 +01:00
RenovateBot d18126dbc5 Update dependency @typescript-eslint/parser to v6 (#78)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | major | [`^5.54.0` -> `^6.0.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.59.6/6.5.0) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint</summary>

### [`v6.5.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;650-httpsgithubcomtypescript-eslinttypescript-eslintcomparev641v650-2023-08-28)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.4.1...v6.5.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### [6.4.1](https://github.com/typescript-eslint/typescript-eslint/compare/v6.4.0...v6.4.1) (2023-08-21)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.4.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;641-httpsgithubcomtypescript-eslinttypescript-eslintcomparev640v641-2023-08-21)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.4.0...v6.4.1)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.4.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;640-httpsgithubcomtypescript-eslinttypescript-eslintcomparev630v640-2023-08-14)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.3.0...v6.4.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.3.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;630-httpsgithubcomtypescript-eslinttypescript-eslintcomparev621v630-2023-08-07)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.2.1...v6.3.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### [6.2.1](https://github.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1) (2023-07-31)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.2.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;621-httpsgithubcomtypescript-eslinttypescript-eslintcomparev620v621-2023-07-31)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.2.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;620-httpsgithubcomtypescript-eslinttypescript-eslintcomparev610v620-2023-07-24)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.1.0...v6.2.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.1.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;610-httpsgithubcomtypescript-eslinttypescript-eslintcomparev600v610-2023-07-17)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v6.0.0...v6.1.0)

##### Features

-   **typescript-estree:** add EXPERIMENTAL_useProjectService option to use TypeScript project service ([#&#8203;6754](https://github.com/typescript-eslint/typescript-eslint/issues/6754)) ([6d3d162](6d3d162ce0))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.0.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;600-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5620v600-2023-07-10)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.62.0...v6.0.0)

##### Bug Fixes

-   update `exports` field in package.json files ([#&#8203;6550](https://github.com/typescript-eslint/typescript-eslint/issues/6550)) ([53776c2](53776c244f))

##### chore

-   drop support for node v14.17, v17 ([#&#8203;5971](https://github.com/typescript-eslint/typescript-eslint/issues/5971)) ([cc62015](cc62015b8a))

##### Features

-   add new package `rule-tester` ([#&#8203;6777](https://github.com/typescript-eslint/typescript-eslint/issues/6777)) ([2ce1c1d](2ce1c1d22c))
-   add package.json exports for public packages ([#&#8203;6458](https://github.com/typescript-eslint/typescript-eslint/issues/6458)) ([d676683](d6766838a0))
-   drop support for ESLint v6 ([#&#8203;5972](https://github.com/typescript-eslint/typescript-eslint/issues/5972)) ([bda806d](bda806d78e))
-   drop support for node v12 ([#&#8203;5918](https://github.com/typescript-eslint/typescript-eslint/issues/5918)) ([7e3fe9a](7e3fe9a67a))
-   drop support for node v14 and test against node v20 ([#&#8203;7022](https://github.com/typescript-eslint/typescript-eslint/issues/7022)) ([e6235bf](e6235bf61b))
-   remove partial type-information program ([#&#8203;6066](https://github.com/typescript-eslint/typescript-eslint/issues/6066)) ([7fc062a](7fc062abc3))
-   **scope-manager:** ignore ECMA version ([#&#8203;5889](https://github.com/typescript-eslint/typescript-eslint/issues/5889)) ([f2330f7](f2330f7973)), closes [#&#8203;5834](https://github.com/typescript-eslint/typescript-eslint/issues/5834) [#&#8203;5882](https://github.com/typescript-eslint/typescript-eslint/issues/5882) [#&#8203;5864](https://github.com/typescript-eslint/typescript-eslint/issues/5864) [#&#8203;5883](https://github.com/typescript-eslint/typescript-eslint/issues/5883)
-   **typescript-estree:** added allowInvalidAST option to not throw on invalid tokens ([#&#8203;6247](https://github.com/typescript-eslint/typescript-eslint/issues/6247)) ([a3b177d](a3b177d59a))
-   **typescript-estree:** allow providing code as a ts.SourceFile ([#&#8203;5892](https://github.com/typescript-eslint/typescript-eslint/issues/5892)) ([af41b7f](af41b7fa7b))
-   **typescript-estree:** deprecate createDefaultProgram ([#&#8203;5890](https://github.com/typescript-eslint/typescript-eslint/issues/5890)) ([426d6b6](426d6b647e))
-   **typescript-estree:** remove optionality from AST boolean properties ([#&#8203;6274](https://github.com/typescript-eslint/typescript-eslint/issues/6274)) ([df131e2](df131e258c))

##### BREAKING CHANGES

-   drop support for ESLint v6
-   drops support for node v17
-   drops support for node v12

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v5.62.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5620-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5610v5620-2023-07-10)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.61.0...v5.62.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v5.61.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5610-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5601v5610-2023-07-03)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.60.1...v5.61.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### [5.60.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1) (2023-06-26)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v5.60.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5601-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5600v5601-2023-06-26)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v5.60.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5600-httpsgithubcomtypescript-eslinttypescript-eslintcomparev55911v5600-2023-06-19)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.11...v5.60.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

#### [5.59.11](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.10...v5.59.11) (2023-06-12)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

#### [5.59.10](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.9...v5.59.10) (2023-06-12)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

#### [5.59.9](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.8...v5.59.9) (2023-06-05)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

#### [5.59.8](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.7...v5.59.8) (2023-05-29)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

#### [5.59.7](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.6...v5.59.7) (2023-05-22)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

#### [5.59.6](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.5...v5.59.6) (2023-05-15)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

#### [5.59.5](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.4...v5.59.5) (2023-05-08)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

#### [5.59.4](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.3...v5.59.4) (2023-05-08)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

#### [5.59.3](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.2...v5.59.3) (2023-05-08)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

#### [5.59.2](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.1...v5.59.2) (2023-05-01)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

#### [5.59.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.0...v5.59.1) (2023-04-24)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

### [`v5.59.11`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;55911-httpsgithubcomtypescript-eslinttypescript-eslintcomparev55910v55911-2023-06-12)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.10...v5.59.11)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

### [`v5.59.10`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;55910-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5599v55910-2023-06-12)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.9...v5.59.10)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

### [`v5.59.9`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5599-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5598v5599-2023-06-05)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.8...v5.59.9)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

### [`v5.59.8`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5598-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5597v5598-2023-05-29)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.7...v5.59.8)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

### [`v5.59.7`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5597-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5596v5597-2023-05-22)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.6...v5.59.7)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNzQuMiJ9-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/78
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-09-04 20:42:57 +01:00
RenovateBot a74df6c8a9 Update dependency got to v13 (#66)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [got](https://github.com/sindresorhus/got) | resolutions | major | [`^11.8.5` -> `^13.0.0`](https://renovatebot.com/diffs/npm/got/11.8.6/13.0.0) |

---

### Release Notes

<details>
<summary>sindresorhus/got</summary>

### [`v13.0.0`](https://github.com/sindresorhus/got/releases/tag/v13.0.0)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.6.1...v13.0.0)

As a reminder, Got continues to require ESM. For TypeScript users, this includes having [`"module": "node16", "moduleResolution": "node16"` in your tsconfig](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c#how-can-i-make-my-typescript-project-output-esm).

##### Breaking

-   Require Node.js 16  [`52a1063`](https://github.com/sindresorhus/got/commit/52a1063)
-   Change the [`enableUnixSockets`](https://github.com/sindresorhus/got/blob/main/documentation/2-options.md#enableunixsockets) option to be `false` by default  [`852c312`](https://github.com/sindresorhus/got/commit/852c312)
    -   Most users don't need it.

##### Improvements

-   Allow specifying `undefined` for options ([#&#8203;2258](https://github.com/sindresorhus/got/issues/2258))  [`1cefe8b`](https://github.com/sindresorhus/got/commit/1cefe8b)

### [`v12.6.1`](https://github.com/sindresorhus/got/releases/tag/v12.6.1)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.6.0...v12.6.1)

-   Fix `get-stream` import statement ([#&#8203;2266](https://github.com/sindresorhus/got/issues/2266))  [`67d5039`](https://github.com/sindresorhus/got/commit/67d5039)

### [`v12.6.0`](https://github.com/sindresorhus/got/releases/tag/v12.6.0)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.5.3...v12.6.0)

-   Update dependencies  [`88c88fb`](https://github.com/sindresorhus/got/commit/88c88fb) [`979272e`](https://github.com/sindresorhus/got/commit/979272e)
-   Loosen URL validation strictness ([#&#8203;2200](https://github.com/sindresorhus/got/issues/2200))  [`0ca0b7f`](https://github.com/sindresorhus/got/commit/0ca0b7f)

### [`v12.5.3`](https://github.com/sindresorhus/got/releases/tag/v12.5.3)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.5.2...v12.5.3)

-   Fix abort event listeners not always being cleaned up ([#&#8203;2162](https://github.com/sindresorhus/got/issues/2162))  [`3cc40b5`](https://github.com/sindresorhus/got/commit/3cc40b5)

### [`v12.5.2`](https://github.com/sindresorhus/got/releases/tag/v12.5.2)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.5.1...v12.5.2)

-   Improve TypeScript 4.9 compatibility ([#&#8203;2163](https://github.com/sindresorhus/got/issues/2163))  [`39f83b6`](https://github.com/sindresorhus/got/commit/39f83b6)

### [`v12.5.1`](https://github.com/sindresorhus/got/releases/tag/v12.5.1)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.5.0...v12.5.1)

-   Fix compatibility with TypeScript and ESM  [`3b3ea67`](https://github.com/sindresorhus/got/commit/3b3ea67)
-   Fix request body not being properly cached ([#&#8203;2150](https://github.com/sindresorhus/got/issues/2150))  [`3e9d3af`](https://github.com/sindresorhus/got/commit/3e9d3af)

### [`v12.5.0`](https://github.com/sindresorhus/got/releases/tag/v12.5.0)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.4.1...v12.5.0)

-   Disable method rewriting on 307 and 308 status codes ([#&#8203;2145](https://github.com/sindresorhus/got/issues/2145))  [`e049e94`](https://github.com/sindresorhus/got/commit/e049e94)
-   Upgrade dependencies  [`8630815`](https://github.com/sindresorhus/got/commit/8630815) [`f0ac0b3`](https://github.com/sindresorhus/got/commit/f0ac0b3) [`4c3762a`](https://github.com/sindresorhus/got/commit/4c3762a)

### [`v12.4.1`](https://github.com/sindresorhus/got/releases/tag/v12.4.1)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.4.0...v12.4.1)

##### Fixes

-   Fix `options.context` being not extensible [`b671480`](b671480715)
-   Don't emit `uploadProgress` after promise cancelation [`693de21`](693de217b0)

### [`v12.4.0`](https://github.com/sindresorhus/got/releases/tag/v12.4.0)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.3.1...v12.4.0)

##### Improvements

-   Support FormData without known length ([#&#8203;2120](https://github.com/sindresorhus/got/issues/2120))  [`850773c`](https://github.com/sindresorhus/got/commit/850773c)

##### Fixes

-   Don't call `beforeError` hooks with `HTTPError` if the `throwHttpErrors` option is `false` ([#&#8203;2104](https://github.com/sindresorhus/got/issues/2104))  [`3927348`](https://github.com/sindresorhus/got/commit/3927348)

### [`v12.3.1`](https://github.com/sindresorhus/got/releases/tag/v12.3.1)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.3.0...v12.3.1)

-   Don't freeze signal when freezing Options ([#&#8203;2100](https://github.com/sindresorhus/got/issues/2100))  [`43b1467`](https://github.com/sindresorhus/got/commit/43b1467)

### [`v12.3.0`](https://github.com/sindresorhus/got/releases/tag/v12.3.0)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.2.0...v12.3.0)

-   Add `.off()` method for events ([#&#8203;2092](https://github.com/sindresorhus/got/issues/2092))  [`88056be`](https://github.com/sindresorhus/got/commit/88056be)

### [`v12.2.0`](https://github.com/sindresorhus/got/releases/tag/v12.2.0)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.1.0...v12.2.0)

-   [Support `AbortController`](https://github.com/sindresorhus/got/blob/main/documentation/2-options.md#signal) ([#&#8203;2020](https://github.com/sindresorhus/got/issues/2020))  [`6a6d2a9`](https://github.com/sindresorhus/got/commit/6a6d2a9)
-   Add [`enableUnixSockets`](https://github.com/sindresorhus/got/blob/main/documentation/2-options.md#enableunixsockets) option ([#&#8203;2062](https://github.com/sindresorhus/got/issues/2062))  [`461b3d4`](https://github.com/sindresorhus/got/commit/461b3d4)

### [`v12.1.0`](https://github.com/sindresorhus/got/releases/tag/v12.1.0)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.0.4...v12.1.0)

##### Improvements

-   Add `response.ok` ([#&#8203;2043](https://github.com/sindresorhus/got/issues/2043))  [`22d58fb`](https://github.com/sindresorhus/got/commit/22d58fb)
    -   This is only useful if you have [`{throwHttpErrors: false}`](https://github.com/sindresorhus/got/blob/main/documentation/2-options.md#throwhttperrors)

##### Fixes

-   Do not redirect to UNIX sockets ([#&#8203;2047](https://github.com/sindresorhus/got/issues/2047))  [`861ccd9`](https://github.com/sindresorhus/got/commit/861ccd9)
    -   [CVE-2022-33987](https://nvd.nist.gov/vuln/detail/CVE-2022-33987)
    -   [Also back ported to v11](https://github.com/sindresorhus/got/releases/tag/v11.8.5)

### [`v12.0.4`](https://github.com/sindresorhus/got/releases/tag/v12.0.4)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.0.3...v12.0.4)

-   Remove stream lock - unreliable since Node 17.3.0 [`bb8eca9`](bb8eca924c)

### [`v12.0.3`](https://github.com/sindresorhus/got/releases/tag/v12.0.3)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.0.2...v12.0.3)

-   Allow more types in the `json` option ([#&#8203;2015](https://github.com/sindresorhus/got/issues/2015))  [`eb045bf`](https://github.com/sindresorhus/got/commit/eb045bf)

### [`v12.0.2`](https://github.com/sindresorhus/got/releases/tag/v12.0.2)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.0.1...v12.0.2)

-   Fix `encoding` option with `{responseType: 'json'}` ([#&#8203;1996](https://github.com/sindresorhus/got/issues/1996))  [`0703318`](https://github.com/sindresorhus/got/commit/0703318)

### [`v12.0.1`](https://github.com/sindresorhus/got/releases/tag/v12.0.1)

[Compare Source](https://github.com/sindresorhus/got/compare/v12.0.0...v12.0.1)

-   Fix `nock` compatibility ([#&#8203;1959](https://github.com/sindresorhus/got/issues/1959))  [`bf39d2c`](https://github.com/sindresorhus/got/commit/bf39d2c)
-   Fix missing export of `Request` TypeScript type ([#&#8203;1940](https://github.com/sindresorhus/got/issues/1940))  [`0f9f2b8`](https://github.com/sindresorhus/got/commit/0f9f2b8)

### [`v12.0.0`](https://github.com/sindresorhus/got/releases/tag/v12.0.0)

[Compare Source](https://github.com/sindresorhus/got/compare/v11.8.6...v12.0.0)

##### Introducing Got v12.0.0 🎉

Long time no see! The latest Got version (v11.8.2) was released just in February ❄️
We have been working hard on squashing bugs and improving overall experience.

If you find Got useful, you might want to [sponsor the Got maintainers](https://github.com/sindresorhus/got?sponsor=1).

##### This package is now pure ESM

**Please [read this](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c).** Also see https://github.com/sindresorhus/got/issues/1789.

-   **Please don't open issues about `[ERR_REQUIRE_ESM]` and `Must use import to load ES Module` errors.** This is a problem with your setup, not Got.
-   Please don't open issues about using Got with Jest. Jest does not fully support ESM.
-   Pretty much any problem with loading this package is a problem with your bundler, test framework, etc, not Got.
-   If you use TypeScript, you will want to stay on Got v11 until TypeScript 4.6 is out. [Why.](https://github.com/microsoft/TypeScript/issues/46452)
-   If you use a bundler, make sure it supports ESM and that you have correctly configured it for ESM.
-   The Got issue tracker is not a support channel for your favorite build/bundler tool.

##### Required Node.js >=14

While working with streams, we encountered more Node.js bugs that needed workarounds.
In order to keep our code clean, we had to drop Node.js v12 as the code would get more messy.
We strongly recommend that you update Node.js to **v14 LTS**.

##### HTTP/2 support

Every Node.js release, the native `http2` module gets more stable.
Unfortunately there are still some issues on the Node.js side, so we decided to keep HTTP/2 disabled for now.
We may enable it by default in Got v13. It is still possible to turn it on via the `http2` option.

To run HTTP/2 requests, it is required to use Node.js **v15.10** or above.

##### Bug fixes

Woah, we possibly couldn't make a release if we didn't fix some bugs!

-   Do not throw on custom stack traces ([#&#8203;1491](https://github.com/sindresorhus/got/issues/1491)) [`49c16ee`](49c16ee54f)
-   Remove automatic `content-length` on ReadStream ([#&#8203;1510](https://github.com/sindresorhus/got/issues/1510)) [`472b8ef`](472b8ef9d9)
-   Fix promise shortcuts in case of error status code ([#&#8203;1543](https://github.com/sindresorhus/got/issues/1543)) [`ff918fb`](ff918fb6de) [`1107cc6`](1107cc625e)
-   Invert the `methodRewriting` option [`51d88a0`](51d88a0efe)
-   Fix `url` not being reused on retry in rare case ([#&#8203;1487](https://github.com/sindresorhus/got/issues/1487)) [`462bc63`](462bc63001)
-   Fix hanging promise on HTTP/2 timeout ([#&#8203;1492](https://github.com/sindresorhus/got/issues/1492)) [`a59fac4`](a59fac415a)
-   Prevent uncaught ParseErrors on initial successful response ([#&#8203;1527](https://github.com/sindresorhus/got/issues/1527)) [`77df9c3`](77df9c33db)
-   Throw an error when retrying with consumed body ([#&#8203;1507](https://github.com/sindresorhus/got/issues/1507)) [`62305d7`](62305d77d3)
-   Fix a Node.js 16 bug that hangs Got streams [`06a2d3d`](06a2d3d7d8)
-   Fix default pagination handling for empty Link header ([#&#8203;1768](https://github.com/sindresorhus/got/issues/1768)) [`1e1e506`](1e1e50647e)
-   Fix incorrect `response.complete` when using cache [`9e15d88`](9e15d887da)
-   Fix `Cannot call end` error when `request` returns a `Writable` [`226cc39`](226cc3995f)
-   Fix Request options not being reused on retry [`3c23eea`](3c23eea5a0)
-   Fix types being not compatible with CommonJS [`3c23eea`](3c23eea5a0)
-   Fix `got.paginate does not call init hooks` ([#&#8203;1574](https://github.com/sindresorhus/got/issues/1574)) [`3c23eea`](3c23eea5a0)
-   Generate a new object when passing options to the native `https` module ([#&#8203;1567](https://github.com/sindresorhus/got/issues/1567)) [`3c23eea`](3c23eea5a0)
-   Remove stream reuse check ([#&#8203;1803](https://github.com/sindresorhus/got/issues/1803)) [`9ecc5ee`](9ecc5ee76f)
-   Fix merging `searchParams` ([#&#8203;1814](https://github.com/sindresorhus/got/issues/1814)) [`1018c20`](1018c2029e) [`732e9bd`](732e9bd940)
-   Fix unhandled exception when lookup returns invalid IP early ([#&#8203;1737](https://github.com/sindresorhus/got/issues/1737)) [`2453e5e`](2453e5e421)
-   Fix relative URLs when paginating [`439fb82`](439fb82d2a)
-   Require url to be an instance of URL when paginating ([#&#8203;1818](https://github.com/sindresorhus/got/issues/1818)) [`eda69ff`](eda69ff924)
-   Fix `username` and `password` encoding in URL ([#&#8203;1169](https://github.com/sindresorhus/got/issues/1169) [#&#8203;1317](https://github.com/sindresorhus/got/issues/1317)) [`d65d0ca`](d65d0caf62)
-   Clone raw options [`1c4cefc`](1c4cefc9b4)
-   Fix invalid `afterResponse` return check  [`cbc8902`](https://github.com/sindresorhus/got/commit/cbc8902)
-   Fix `https.alpnProtocols` not having an effect  [`e1099fb`](https://github.com/sindresorhus/got/commit/e1099fb)

##### Improvements

-   Make the `context` option mergeable ([#&#8203;1459](https://github.com/sindresorhus/got/issues/1459)) [`2b8ed1f`](2b8ed1f5a1)
-   Add generic argument to AfterResponseHook TypeScript type ([#&#8203;1589](https://github.com/sindresorhus/got/issues/1589)) [`6fc04a9`](6fc04a9b92)
-   Add read timeout ([#&#8203;1518](https://github.com/sindresorhus/got/issues/1518)) [`e943672`](e9436720fc) *(blocked by https://github.com/nodejs/node/issues/35923)*
-   Improve the pagination API ([#&#8203;1644](https://github.com/sindresorhus/got/issues/1644)) [`2675046`](2675046a83)
-   Change the stackAllItems option to be false by default ([#&#8203;1645](https://github.com/sindresorhus/got/issues/1645)) [`1120370`](1120370e05)
-   Throw when afterResponse hook returns an invalid value [`4f21eb3`](4f21eb3db7)
-   Add `retry.backoffLimit` option [`41c4136`](41c4136632)
-   Add `noise` retry option [`e830077`](e830077046)
-   Enable more HTTPS options [`83575d5`](83575d590a) [`fe723a0`](fe723a0477) (thanks [@&#8203;Giotino](https://github.com/Giotino))
-   Define `error.code` [`f27e8d3`](f27e8d3316)
-   Set `options.url` even if some options are invalid [`8d6a680`](8d6a680788)
-   Improve memory usage when merging options [`2db5ec5`](2db5ec5d36)
-   Support async generators as body [`854430f`](854430f013) [`3df52f3`](3df52f38ed)
-   Add missing `once` types for Stream API [`3c23eea`](3c23eea5a0)
-   New error type: `RetryError` which always triggers a new retry when thrown [`3c23eea`](3c23eea5a0)
-   `error.options` is now enumerable [`3c23eea`](3c23eea5a0)
-   `defaults.handlers` don't need a default handler now [`3c23eea`](3c23eea5a0)
-   Add a parser for the `Link` header [`3c23eea`](3c23eea5a0)
-   General code improvements [`a5dd9aa`](a5dd9aa37e)

##### Breaking changes

##### Improved option normalization

-   Got exports an `Option` class that is specifically designed to parse and validate Got options.
    It is made of setters and getters that provide fast normalization and more consistent behavior.

When passing an option does not exist, Got will throw an error. In order to retrieve the options before the error, use `error.options`.

```js
import got from 'got';

try {
    await got('https://httpbin.org/anything', {
        thisOptionDoesNotExist: true
    });
} catch (error) {
    console.error(error);
    console.error(error.options.url.href);
    // Unexpected option: thisOptionDoesNotExist
    // https://httpbin.org/anything
}
```

-   The `init` hook now accepts a second argument: `self`, which points to an `Options` instance.

In order to define your own options, you have to move them to `options.context` in an [`init` hook](https://github.com/sindresorhus/got/blob/main/documentation/lets-make-a-plugin.md#authorization) or store them in `options.context` directly.

-   The `init` hooks are ran only when passing an options object explicitly.

```diff
- await got('https://example.com'); // this will *not* trigger the init hooks
+ await got('https://example.com', {}); // this *will** trigger init hooks
```

-   [`options.merge()`](2-options.md) replaced `got.mergeOptions` and `Request.normalizeArguments`

```diff
- got.defaults.options = got.mergeOptions(got.defaults.options, {…});
+ got.defaults.options.merge(…);
```

This fixes issues like [#&#8203;1450](https://github.com/sindresorhus/got/issues/1450)

-   Legacy `Url` instances are not supported anymore. You need to use WHATWG URL instead.

```diff
- await got(string, {port: 8443});
+ const url = new URL(string);
+ url.port = 8443;
+ await got(url);
```

-   No implicit timeout declaration.

```diff
- await got('https://example.com', {timeout: 5000})
+ await got('https://example.com', {timeout: {request: 5000})
```

-   No implicit retry declaration.

```diff
- await got('https://example.com', {retry: 5})
+ await got('https://example.com', {retry: {limit: 5})
```

-   `dnsLookupIpVersion` is now a number (4 or 6) or undefined

```diff
- await got('https://example.com', {dnsLookupIpVersion: 'ipv4'})
+ await got('https://example.com', {dnsLookupIpVersion: 4})
```

-   `redirectUrls` and `requestUrl` now give URL instances

```diff
- request.requestUrl
+ request.requestUrl.origin
+ request.requestUrl.href
+ request.requestUrl.toString()
```

```diff
- request.redirectUrls[0]
+ request.redirectUrls[0].origin
+ request.redirectUrls[0].href
+ request.redirectUrls[0].toString()
```

-   Renamed `request.aborted` to `request.isAborted`

```diff
- request.aborted
+ request.isAborted
```

Reason: consistency with `options.isStream`.

-   Renamed the `lookup` option to `dnsLookup`

```diff
- await got('https://example.com', {lookup: cacheable.lookup})
+ await got('https://example.com', {dnsLookup: cacheable.lookup})
```

-   The `beforeRetry` hook now accepts only two arguments: `error` and `retryCount`

```diff
await got('https://example.com', {
    hooks: {
        beforeRetry: [
-            (options, error, retryCount) => {
-                console.log(options, error, retryCount);
-            }
+            (error, retryCount) => {
+                console.log(error.options, error, retryCount);
+            }
        ]
    }
})
```

The `options` argument has been removed, however it's still accessible via `error.options`. All modifications on `error.options` will be reflected in the next requests (no behavior change, same as with Got 11).

-   The `beforeRedirect` hook's first argument (options) is now a cloned instance of the Request options.

This was done to make retrieving the original options possible: `plainResponse.request.options`.

```diff
await got('http://szmarczak.com', {
    hooks: {
        beforeRedirect: [
            (options, response) => {
-                console.log(options === response.request.options); //=> true [invalid! our original options were overriden]
+                console.log(options === response.request.options); //=> false [we can access the original options now]
            }
        ]
    }
})
```

-   The `redirect` event now takes two arguments in this order: `updatedOptions` and `plainResponse`.

```diff
- stream.on('redirect', (response, options) => …)
+ stream.on('redirect', (options, response) => …)
```

Reason: consistency with the `beforeRedirect` hook.

-   The `socketPath` option has been removed. Use the `unix:` protocol instead.

```diff
- got('/containers/json', {socketPath: '/var/run/docker.sock'})
+ got('unix:/var/run/docker.sock:/containers/json')
+ got('http://unix:/var/run/docker.sock:/containers/json')
```

-   The `retryWithMergedOptions` function in an `afterResponse` hook no longer returns a `Promise`.

It now throws `RetryError`, so this should this should be the last function being executed.
This was done to allow `beforeRetry` hooks getting called.

-   You can no longer set `options.agent` to `false`.
    To do so, you need to define all the `options.agent` properties: `http`, `https` and `http2`.

```diff
await got('https://example.com', {
-    agent: false
+    agent: {
+        http: false,
+        https: false,
+        http2: false
+    }
})
```

-   When passing a `url` option when paginating, it now needs to be an absolute URL - the `prefixUrl` option is always reset from now on. The same when retrying in an `afterResponse` hook.

```diff
- return {url: '/location'};
+ return {url: new URL('/location', response.request.options.url)};
```

There was confusion around the `prefixUrl` option. It was counterintuitive if used with the Pagination API. For example, it worked fine if the server replied with a relative URL, but if it was an absolute URL then the `prefixUrl` would end up duplicated. In order to fix this, Got now requires an absolute URL - no `prefixUrl` will be applied.

-   `got.extend(…)` will throw when passing some options that don't accept undefined - undefined no longer retains the old value, as setting undefined explicitly may reset the option

##### Documentation

We have redesigned the documentation so it's easier to navigate and find exactly what you are looking for. We hope you like it ❤️

</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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNzQuMiJ9-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/66
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-09-04 20:42:16 +01:00
RenovateBot 2a6ed325a0 Update dependency @types/node to v20 (#64)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | major | [`^18.0.0` -> `^20.0.0`](https://renovatebot.com/diffs/npm/@types%2fnode/18.16.13/20.5.9) |

---

### 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 becomes conflicted, 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNzQuMiJ9-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/64
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-09-04 20:41:35 +01:00
21 changed files with 3364 additions and 1640 deletions

View file

@ -1,75 +0,0 @@
---
kind: pipeline
name: deployment
steps:
- name: build
image: node
commands:
- yarn install --frozen-lockfile
- yarn build
- name: test
image: node
commands:
- yarn test
depends_on:
- build
- name: lint
image: node
commands:
- yarn lint
depends_on:
- build
- name: deploy
image: plugins/npm
settings:
username: vylpes
password:
from_secret: npm_password
email: ethan@vylpes.com
token:
from_secret: npm_token
depends_on:
- test
- lint
trigger:
branch:
- master
event:
- push
- tag
---
kind: pipeline
name: integration
steps:
- name: build
image: node
commands:
- yarn install --frozen-lockfile
- yarn build
- name: test
image: node
commands:
- yarn test
depends_on:
- build
- name: lint
image: node
commands:
- yarn lint
depends_on:
- build
trigger:
branch:
- develop
- feature/*
- hotfix/*
- renovate/*
event:
- push

2
.gitignore vendored
View file

@ -1,4 +1,6 @@
node_modules/
dist/
bin/
coverage/
yarn-error.log
.DS_Store

View file

@ -1,5 +1,5 @@
app.ts
src/
bin/
tests/
jest.config.cjs
jest.setup.js

92
.woodpecker.yml Normal file
View file

@ -0,0 +1,92 @@
steps:
build:
# Build and test
image: node
commands:
- yarn install --frozen-lockfile
- yarn build
when:
event: [ push, pull_request ]
branch: [ hotfix/*, feature/*, renovate/*, develop, master ]
lint:
image: node
commands:
- yarn lint
when:
event: [ push, pull_request ]
branch: [ hotfix/*, feature/*, renovate/*, develop, master ]
test:
image: node
commands:
- yarn test
when:
event: [ push, pull_request ]
branch: [ hotfix/*, feature/*, renovate/*, develop, master ]
# Package production build
package_prod:
image: node
commands:
- apt install unzip -y
- wget https://github.com/xerub/ldid/releases/download/42/ldid.zip
- unzip ldid.zip
- mkdir /opt/ldid/
- cp linux64/ldid /opt/ldid/
- export PATH=/opt/ldid:$PATH
- yarn package
when:
event: push
branch: master
rsync_prod:
image: alpine
secrets: [ ssh_key ]
commands:
- apk add rsync openssh-client
- eval `ssh-agent -s`
- echo "$SSH_KEY" | tr -d '\r' | ssh-add -
- rsync -e "ssh -o StrictHostKeyChecking=no" -r ./bin vylpes@192.168.1.115:/home/vylpes/apps/random-bunny/random-bunny_prod
when:
event: push
branch: master
# Package stage build
package_stage:
image: node
commands:
- apt install unzip -y
- wget https://github.com/xerub/ldid/releases/download/42/ldid.zip
- unzip ldid.zip
- mkdir /opt/ldid/
- cp linux64/ldid /opt/ldid/
- export PATH=/opt/ldid:$PATH
- yarn package
when:
event: push
branch: develop
rsync_stage:
image: alpine
secrets: [ ssh_key ]
commands:
- apk add rsync openssh-client
- eval `ssh-agent -s`
- echo "$SSH_KEY" | tr -d '\r' | ssh-add -
- rsync -e "ssh -o StrictHostKeyChecking=no" -r ./bin vylpes@192.168.1.115:/home/vylpes/apps/random-bunny/random-bunny_stage
when:
event: push
branch: develop
# Publish to NPM
publish:
image: plugins/npm
settings:
username:
from_secret: NPM_USERNAME
email:
from_secret: NPM_EMAIL
password:
from_secret: NPM_PASSWORD
token:
from_secret: NPM_TOKEN
when:
event: push
branch: master

9
app.ts
View file

@ -1,9 +0,0 @@
import randomBunny from "./dist/index.js";
async function app() {
const result = await randomBunny('rabbits', 'hot');
console.log(result);
}
app();

97
docs/cli.md Normal file
View file

@ -0,0 +1,97 @@
# CLI
Since Version 2.2, Random Bunny contains a command line interface (CLI).
## Downloads
The project can be downloaded as a binary for your system via the [GitHub Releases](https://github.com/Vylpes/random-bunny/releases) or [Gitea Releases](https://gitea.vylpes.xyz/RabbitLabs/random-bunny/releases) page.
We currently support:
- Linux (x64)
- Windows (x64)
- macOS (x64, Arm64\*)
The git repository can also be cloned and ran via `yarn build` and `yarn start`.
> **NOTE:** We are aware of a bug in the macOS Arm64 builds failing to execute. For now you're still able to use the x64 builds under Rosetta fine. This will hopefully be fixed in a future release.
## Default Output
By default, the command will fetch a random image from `r/rabbits` and return it in a human-readable output.
```
$ randombunny
Archived = false
Downvotes = 0
Hidden = false
Permalink = /r/Rabbits/comments/1av1rg9/cute_baby_bun/
Subreddit = Rabbits
Subreddit Subscribers = 486084
Title = Cute baby bun
Upvotes = 211
Url = https://i.redd.it/sfz0srdrimjc1.png
```
## Help
The command also includes a help option in case you are stuck.
```
$ randombunny --help
# or
$ randombunny -h
Usage: random-bunny [options]
Get a random image url from a subreddit of your choosing
Options:
-V, --version output the version number
-s, --subreddit <subreddit> The subreddit to search (default: "rabbits")
-j, --json Output as JSON
-q, --query-metadata Include query metadata in result
--sort <sort> Sort by (choices: "hot", "new", "top", default: "hot")
-h, --help display help for command
✨ Done in 0.32s.
```
## JSON output
You can also convert the output into JSON, if you need to input it to another program.
```bash
$ randombunny --json
# or
$ randonbunny -j
{"Archived":false,"Downs":0,"Hidden":false,"Permalink":"/r/Rabbits/comments/1av1rg9/cute_baby_bun/","Subreddit":"Rabbits","SubredditSubscribers":486085,"Title":"Cute baby bun","Ups":210,"Url":"https://i.redd.it/sfz0srdrimjc1.png"}
```
## Sort
You can also choose the sorting option which reddit will use to return the available posts to randomise from.
This defaults to "hot". The valid options are "hot", "new", and "top".
```
$ randombunny --sort hot
$ randombunny --sort new
$ randomBunny --sort top
```
## Subreddit
You can change the subreddit which the command fetches from.
This defaults to "rabbits"
```
$ randombunny --subreddit rabbits
$ randombunny -s horses
```

View file

@ -1,11 +1,13 @@
{
"name": "random-bunny",
"version": "2.1.4",
"version": "2.2.0",
"description": "Get a random subreddit image url",
"license": "MIT",
"author": "Vylpes",
"exports": "./dist/index.js",
"typings": "./dist/index.d.ts",
"bin": "./dist/cli.js",
"main": "./dist/index.js",
"keywords": [
"rabbit",
"bunny",
@ -16,16 +18,19 @@
"placeholder"
],
"dependencies": {
"commander": "^12.0.0",
"glob-parent": "^6.0.0",
"got-cjs": "^12.5.4",
"htmlparser2": "^9.1.0",
"linqts": "^1.14.4"
},
"scripts": {
"build": "tsc",
"start": "ts-node app.ts",
"start": "node dist/cli.js",
"test": "jest",
"lint": "eslint .",
"release": "np --no-publish"
"release": "np --no-publish",
"package": "pkg . --no-bytecode"
},
"bugs": {
"url": "https://gitea.vylpes.xyz/RabbitLabs/random-bunny/issues",
@ -35,24 +40,35 @@
"funding": "https://ko-fi.com/vylpes",
"devDependencies": {
"@types/eslint": "^8.21.1",
"@types/jest": "^29.4.0",
"@types/node": "^18.0.0",
"@typescript-eslint/eslint-plugin": "^5.54.0",
"@types/jest": "^29.5.8",
"@types/node": "^20.0.0",
"@typescript-eslint/eslint-plugin": "^7.0.0",
"@typescript-eslint/parser": "^5.54.0",
"eslint": "^8.49.0",
"jest": "^29.4.3",
"jest": "^29.7.0",
"jest-mock-extended": "^3.0.3",
"np": "^7.7.0",
"ts-jest": "^29.0.5",
"np": "^9.0.0",
"pkg": "^5.8.1",
"ts-jest": "^29.1.1",
"ts-mockito": "^2.6.1",
"ts-node": "^10.9.1",
"typescript": "^5.0.0"
},
"resolutions": {
"np/**/got": "^11.8.5",
"**/semver": "^7.5.2"
"np/**/got": "^14.0.0",
"**/semver": "^7.5.2",
"@babel/traverse": "^7.23.2"
},
"files": [
"dist"
]
],
"pkg": {
"scripts": "dist/**/*.js",
"targets": [
"latest-linux-x64",
"latest-macos-x64",
"latest-macos-arm64",
"latest-win-x64"
],
"outputPath": "bin"
}
}

View file

@ -14,6 +14,10 @@ or if you're using yarn
yarn add random-bunny
```
### Binary
The project can be downloaded as a binary for your system via the [GitHub Releases](https://github.com/Vylpes/random-bunny/releases) or [Gitea Releases](https://gitea.vylpes.xyz/RabbitLabs/random-bunny/releases) page.
## Usage
@ -44,6 +48,12 @@ The json string which gets returned consists of:
`sortBy` will default to 'hot' if not given or invalid
## CLI
Random bunny can also be used as a CLI. This is accessible via the executable (see git releases) or via `src/cli.ts`
For more details, see the [documentation](https://docs.vylpes.xyz/books/random-bunny).
## Notes
* Node 4 or newer.

56
src/cli.ts Normal file
View file

@ -0,0 +1,56 @@
import { Command, Option } from "commander";
import randomBunny from "./index";
import ICliOptions from "./contracts/ICliOptions";
import { exit } from "process";
const program = new Command();
program
.name('random-bunny')
.description('Get a random image url from a subreddit of your choosing')
.version('2.2')
.option('-s, --subreddit <subreddit>', 'The subreddit to search', 'rabbits')
.option('-j, --json', 'Output as JSON')
.option('-q, --query-metadata', 'Include query metadata in result')
.addOption(new Option('--sort <sort>', 'Sort by').default('hot').choices(['hot', 'new', 'top']));
program.parse();
const options: ICliOptions = program.opts();
randomBunny(options.subreddit, options.sort)
.then((response) => {
if (response.IsSuccess) {
const result = response.Result!;
const outputLines: string[] = [];
if (options.json) {
console.log(JSON.stringify(result));
return;
}
outputLines.push(`Archived = ${result.Archived}`);
outputLines.push(`Downvotes = ${result.Downs}`);
outputLines.push(`Hidden = ${result.Hidden}`);
outputLines.push(`Permalink = ${result.Permalink}`);
outputLines.push(`Subreddit = ${result.Subreddit}`);
outputLines.push(`Subreddit Subscribers = ${result.SubredditSubscribers}`);
outputLines.push(`Title = ${result.Title}`);
outputLines.push(`Upvotes = ${result.Ups}`);
outputLines.push(`Url = ${result.Url}`);
if (options.queryMetadata != null) {
outputLines.push(`Query.Subreddit = ${response.Query.subreddit}`);
outputLines.push(`Query.Sort By = ${response.Query.sortBy}`);
}
console.log(outputLines.join("\n"));
exit(0);
} else {
const error = response.Error!;
console.error(error.Message, error.Code);
exit(1);
}
});

View file

@ -0,0 +1,6 @@
export enum ErrorCode {
Unknown,
FailedToFetchReddit,
UnableToParseJSON,
NoImageResultsFound,
}

View file

@ -0,0 +1,5 @@
export default class ErrorMessages {
public static readonly FailedToFetchReddit = "Failed to fetch result from Reddit";
public static readonly UnableToParseJSON = "Unable to parse the JSON result";
public static readonly NoImageResultsFound = "No image results found in response from Reddit";
}

View file

@ -0,0 +1,6 @@
export default interface ICliOptions {
subreddit: string,
json?: boolean,
sort: string,
queryMetadata?: boolean,
}

6
src/contracts/IError.ts Normal file
View file

@ -0,0 +1,6 @@
import { ErrorCode } from "../constants/ErrorCode";
export default interface IError {
Code: ErrorCode;
Message: string;
}

View file

@ -1,6 +1,10 @@
import IError from "./IError.js";
import IRedditResult from "./IRedditResult.js";
import QueryResult from "./QueryResult.js";
export default interface IReturnResult {
IsSuccess: boolean;
Query: QueryResult;
Result?: IRedditResult;
Error?: IError;
}

View file

@ -0,0 +1,4 @@
export default interface QueryResult {
subreddit: string,
sortBy: string,
}

19
src/imageHelper.ts Normal file
View file

@ -0,0 +1,19 @@
import fetch from "got-cjs";
import * as htmlparser from "htmlparser2";
export default class ImageHelper {
public static async FetchImageFromRedditGallery(url: string): Promise<string | undefined> {
const fetched = await fetch(url);
if (!fetched || fetched.errored || fetched.statusCode != 200) {
return undefined;
}
const dom = htmlparser.parseDocument(fetched.body);
const img = htmlparser.DomUtils.findOne((x => x.tagName == "img" && x.attributes.find(y => y.value.includes("https://preview.redd.it")) != null), dom.children, true);
const imgSrc = img?.attributes.find(x => x.name == "src")?.value;
return imgSrc;
}
}

View file

@ -1,8 +1,11 @@
import IReturnResult from "./contracts/IReturnResult.js";
import IRedditResult from "./contracts/IRedditResult.js";
import IReturnResult from "./contracts/IReturnResult";
import IRedditResult from "./contracts/IRedditResult";
import fetch from "got-cjs";
import { List } from 'linqts';
import IFetchResult from "./contracts/IFetchResult.js";
import IFetchResult from "./contracts/IFetchResult";
import { ErrorCode } from "./constants/ErrorCode";
import ErrorMessages from "./constants/ErrorMessages";
import ImageHelper from "./imageHelper";
const sortable = [
'new',
@ -10,14 +13,28 @@ const sortable = [
'top'
];
export default async function randomBunny(subreddit: string, sortBy?: string): Promise<IReturnResult> {
if (!sortBy || !sortable.includes(sortBy)) sortBy = 'hot';
export default async function randomBunny(subreddit: string, sortBy: string = 'hot'): Promise<IReturnResult> {
if (!sortable.includes(sortBy)) sortBy = 'hot';
const result = await fetch(`https://reddit.com/r/${subreddit}/${sortBy}.json`);
const result = await fetch(`https://reddit.com/r/${subreddit}/${sortBy}.json?limit=100`)
.then((res) => {
return res;
})
.catch(() => {
return null;
});
if (!result) {
return {
IsSuccess: false
IsSuccess: false,
Query: {
subreddit: subreddit,
sortBy: sortBy,
},
Error: {
Code: ErrorCode.FailedToFetchReddit,
Message: ErrorMessages.FailedToFetchReddit,
},
}
}
@ -25,14 +42,22 @@ export default async function randomBunny(subreddit: string, sortBy?: string): P
if (!json) {
return {
IsSuccess: false
IsSuccess: false,
Query: {
subreddit: subreddit,
sortBy: sortBy,
},
Error: {
Code: ErrorCode.UnableToParseJSON,
Message: ErrorMessages.UnableToParseJSON,
},
}
}
const data: IFetchResult[] = json.data.children;
const dataWithImages = new List<IFetchResult>(data)
.Where(x => x!.data.url.includes('.jpg') || x!.data.url.includes('.png'))
.Where(x => x!.data.url.includes('.jpg') || x!.data.url.includes('.png') || x!.data.url.includes("/gallery/"))
.ToArray();
let random = 0;
@ -40,6 +65,14 @@ export default async function randomBunny(subreddit: string, sortBy?: string): P
if (dataWithImages.length == 0) {
return {
IsSuccess: false,
Query: {
subreddit: subreddit,
sortBy: sortBy,
},
Error: {
Code: ErrorCode.NoImageResultsFound,
Message: ErrorMessages.NoImageResultsFound,
},
};
} else {
random = Math.floor((Math.random() * (dataWithImages.length - 1)) + 0); // Between 0 and (size - 1)
@ -49,6 +82,30 @@ export default async function randomBunny(subreddit: string, sortBy?: string): P
const randomData = randomSelect.data;
let url: string;
if (randomData.url.includes("/gallery")) {
const galleryImage = await ImageHelper.FetchImageFromRedditGallery(randomData.url);
if (!galleryImage) {
return {
IsSuccess: false,
Query: {
subreddit: subreddit,
sortBy: sortBy,
},
Error: {
Code: ErrorCode.NoImageResultsFound,
Message: ErrorMessages.NoImageResultsFound,
},
}
}
url = galleryImage;
} else {
url = randomData.url;
}
const redditResult: IRedditResult = {
Archived: randomData['archived'],
Downs: randomData['downs'],
@ -58,11 +115,15 @@ export default async function randomBunny(subreddit: string, sortBy?: string): P
SubredditSubscribers: randomData['subreddit_subscribers'],
Title: randomData['title'],
Ups: randomData['ups'],
Url: randomData['url']
Url: url,
};
return {
IsSuccess: true,
Query: {
subreddit: subreddit,
sortBy: sortBy,
},
Result: redditResult
};
}

187
tests/cli.test.ts Normal file
View file

@ -0,0 +1,187 @@
import { exec } from "child_process";
import path from "path";
describe('default', () => {
test('GIVEN no options are supplied, EXPECT standard output', async () => {
const result = await cli([], '.');
const keys = result.stdout.split('\n')
.flatMap(x => x.split(' = ')[0])
.filter(x => x && x.length > 0);
const values = result.stdout.split('\n')
.flatMap(x => x.split(' = ')[1])
.filter(x => x && x.length > 0);
expect(result.code).toBe(0);
expect(keys).toStrictEqual(['Archived', 'Downvotes', 'Hidden', 'Permalink', 'Subreddit', 'Subreddit Subscribers', 'Title', 'Upvotes', 'Url']);
expect(values.length).toBe(9);
}, 5000);
test('GIVEN an error occurs, EXPECT error output', async () => {
const result = await cli(['-s', 'textonly'], '.');
expect(result.code).toBe(1);
expect(result.stderr).toBeDefined();
}, 5000);
});
describe('version', () => {
test('GIVEN -V flag is supplied, EXPECT version returned', async () => {
const result = await cli(['-V'], '.');
expect(result.code).toBe(0);
expect(result.stdout).toBe('2.2\n');
});
test('GIVEN --version is supplied, EXPECT version returned', async () => {
const result = await cli(['--version'], '.');
expect(result.code).toBe(0);
expect(result.stdout).toBe('2.2\n');
});
});
describe('help', () => {
test('GIVEN -h is supplied, EXPECT help returned', async () => {
const result = await cli(['-h'], '.');
expect(result.code).toBe(0);
expect(result.stdout.split('\n')[0]).toBe('Usage: random-bunny [options]');
});
test('GIVEN --help is supplied, EXPECT help returned', async () => {
const result = await cli(['--help'], '.');
expect(result.code).toBe(0);
expect(result.stdout.split('\n')[0]).toBe('Usage: random-bunny [options]');
});
});
describe('subreddit', () => {
test('GIVEN -s is not supplied, EXPECT subreddit to be defaulted', async () => {
const result = await cli([], '.');
const subreddit = result.stdout.split('\n')
.find(x => x && x.length > 0 && x.split(' = ')[0] == 'Subreddit')!
.split(' = ')[1];
expect(subreddit).toBe('Rabbits');
}, 5000);
test('GIVEN -s is supplied, EXPECT subreddit to be changed', async () => {
const result = await cli(['-s', 'pics'], '.');
const subreddit = result.stdout.split('\n')
.find(x => x && x.length > 0 && x.split(' = ')[0] == 'Subreddit')!
.split(' = ')[1];
expect(subreddit).toBe('pics');
}, 5000);
test('GIVEN --subreddit is supplied, EXPECT subreddit to be changed', async () => {
const result = await cli(['--subreddit', 'pics'], '.');
const subreddit = result.stdout.split('\n')
.find(x => x && x.length > 0 && x.split(' = ')[0] == 'Subreddit')!
.split(' = ')[1];
expect(subreddit).toBe('pics');
}, 5000);
});
describe('json', () => {
test('GIVEN -j is supplied, EXPECT output to be valid JSON', async () => {
const result = await cli(['-j'], '.');
const json = JSON.parse(result.stdout);
expect(json).toBeDefined();
}, 5000);
test('GIVEN --json is supplied, EXPECT output to be valid JSON', async () => {
const result = await cli(['--json'], '.');
const json = JSON.parse(result.stdout);
expect(json).toBeDefined();
}, 5000);
});
describe('sort', () => {
test('GIVEN --sort is not supplied, EXPECT sort to be defaulted', async () => {
const result = await cli(['-q'], '.');
const sortBy = result.stdout.split('\n')
.find(x => x && x.length > 0 && x.split(' = ')[0] == 'Query.Sort By')!
.split(' = ')[1];
expect(sortBy).toBe('hot');
}, 5000);
test('GIVEN --sort is supplied WITH a valid input, EXPECT sort to be used', async () => {
const result = await cli(['-q', '--sort', 'new'], '.');
const sortBy = result.stdout.split('\n')
.find(x => x && x.length > 0 && x.split(' = ')[0] == 'Query.Sort By')!
.split(' = ')[1];
expect(sortBy).toBe('new');
}, 5000);
test('GIVEN --sort is supplied WITH an invalid input, EXPECT error', async () => {
const result = await cli(['-q', '--sort', 'invalid'], '.');
expect(result.code).toBe(1);
expect(result.stderr).toBe("error: option '--sort <sort>' argument 'invalid' is invalid. Allowed choices are hot, new, top.\n");
}, 5000);
});
describe('query-metadata', () => {
test('GIVEN --query-metadata is not supplied, EXPECT no query metadata returned', async () => {
const result = await cli([], '.');
const query = result.stdout.split('\n')
.find(x => x && x.length > 0 && x.split(' = ')[0].startsWith('Query'));
expect(query).toBeUndefined();
}, 5000);
test('GIVEN --query-metadata is supplied, EXPECT query metadata returned', async () => {
const result = await cli(['--query-metadata'], '.');
const query = result.stdout.split('\n')
.find(x => x && x.length > 0 && x.split(' = ')[0].startsWith('Query'));
expect(query).toBeDefined();
}, 5000);
test('GIVEN -q is supplied, EXPECT query metadata returned', async () => {
const result = await cli(['-q'], '.');
const query = result.stdout.split('\n')
.find(x => x && x.length > 0 && x.split(' = ')[0].startsWith('Query'));
expect(query).toBeDefined();
}, 5000);
});
function cli(args: string[], cwd: string): Promise<cliResult> {
return new Promise(resolve => {
exec(`node ${path.resolve('./dist/cli.js')} ${args.join(' ')}`,
{ cwd },
(error, stdout, stderr) => { resolve({
code: error && error.code ? error.code : 0,
error,
stdout,
stderr });
});
});
}
interface cliResult {
code: number,
error: any,
stdout: string,
stderr: string,
}

90
tests/imageHelper.test.ts Normal file
View file

@ -0,0 +1,90 @@
import ImageHelper from "../src/imageHelper";
import fetch from "got-cjs";
jest.mock('got-cjs');
const fetchMock = jest.mocked(fetch);
describe("FetchImageFromRedditGallery", () => {
test("EXPECT image url to be returned", async () => {
fetchMock.mockResolvedValue({
body: "<html><body><img src='https://preview.redd.it/image.png' /></body></html>",
errored: undefined,
statusCode: 200,
});
const result = await ImageHelper.FetchImageFromRedditGallery("https://redd.it/gallery/image");
expect(fetchMock).toHaveBeenCalledTimes(1);
expect(fetchMock).toHaveBeenCalledWith("https://redd.it/gallery/image");
expect(result).toBe("https://preview.redd.it/image.png");
});
test("GIVEN fetch is unable to return data, EXPECT undefined returned", async () => {
fetchMock.mockResolvedValue(null);
const result = await ImageHelper.FetchImageFromRedditGallery("https://redd.it/gallery/image");
expect(result).toBeUndefined();
});
test("GIVEN fetch is an error, EXPECT undefined returned", async () => {
fetchMock.mockResolvedValue({
body: "<html><body><img src='https://preview.redd.it/image.png' /></body></html>",
errored: "Error",
statusCode: 200,
});
const result = await ImageHelper.FetchImageFromRedditGallery("https://redd.it/gallery/image");
expect(result).toBeUndefined();
});
test("GIVEN fetch is not status code of 200, EXPECT undefined returned", async () => {
fetchMock.mockResolvedValue({
body: "<html><body><img src='https://preview.redd.it/image.png' /></body></html>",
errored: undefined,
statusCode: 500,
});
const result = await ImageHelper.FetchImageFromRedditGallery("https://redd.it/gallery/image");
expect(result).toBeUndefined();
});
test("GIVEN image tag is not found, EXPECT undefined returned", async () => {
fetchMock.mockResolvedValue({
body: "<html><body></body></html>",
errored: undefined,
statusCode: 200,
});
const result = await ImageHelper.FetchImageFromRedditGallery("https://redd.it/gallery/image");
expect(result).toBeUndefined();
});
test("GIVEN image source attribute is not found, EXPECT undefined returned", async () => {
fetchMock.mockResolvedValue({
body: "<html><body><img /></body></html>",
errored: undefined,
statusCode: 200,
});
const result = await ImageHelper.FetchImageFromRedditGallery("https://redd.it/gallery/image");
expect(result).toBeUndefined();
});
test("GIVEN image source attribute is not found that is a preview.redd.it url, EXPECT undefined returned", async () => {
fetchMock.mockResolvedValue({
body: "<html><body><img src='main.png' /></body></html>",
errored: undefined,
statusCode: 200,
});
const result = await ImageHelper.FetchImageFromRedditGallery("https://redd.it/gallery/image");
expect(result).toBeUndefined();
});
});

View file

@ -1,3 +1,6 @@
import { ErrorCode } from "../src/constants/ErrorCode";
import ErrorMessages from "../src/constants/ErrorMessages";
import ImageHelper from "../src/imageHelper";
import randomBunny from "../src/index";
import fetch from "got-cjs";
@ -32,8 +35,9 @@ describe('randomBunny', () => {
expect(result.IsSuccess).toBeTruthy();
expect(result.Result).toBeDefined();
expect(result.Error).toBeUndefined();
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/new.json');
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/new.json?limit=100');
});
test('GIVEN sortBy is NOT supplied, expect it to default to hot', async () => {
@ -63,8 +67,9 @@ describe('randomBunny', () => {
expect(result.IsSuccess).toBeTruthy();
expect(result.Result).toBeDefined();
expect(result.Error).toBeUndefined();
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/hot.json');
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/hot.json?limit=100');
});
test('GIVEN sortBy is NOT valid, expect it to default to hot', async () => {
@ -94,19 +99,24 @@ describe('randomBunny', () => {
expect(result.IsSuccess).toBeTruthy();
expect(result.Result).toBeDefined();
expect(result.Error).toBeUndefined();
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/hot.json');
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/hot.json?limit=100');
});
test('GIVEN the fetch fails, EXPECT failure result', async () => {
fetchMock.mockResolvedValue(null);
fetchMock.mockRejectedValue('Test Reason')
const result = await randomBunny('rabbits', 'new');
expect(result.IsSuccess).toBeFalsy();
expect(result.Result).toBeUndefined();
expect(result.Error).toBeDefined();
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/new.json');
expect(result.Error!.Code).toBe(ErrorCode.FailedToFetchReddit);
expect(result.Error!.Message).toBe(ErrorMessages.FailedToFetchReddit);
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/new.json?limit=100');
});
test('GIVEN the result is NOT valid JSON, EXPECT failure result', async () => {
@ -118,8 +128,12 @@ describe('randomBunny', () => {
expect(result.IsSuccess).toBeFalsy();
expect(result.Result).toBeUndefined();
expect(result.Error).toBeDefined();
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/new.json');
expect(result.Error!.Code).toBe(ErrorCode.UnableToParseJSON);
expect(result.Error!.Message).toBe(ErrorMessages.UnableToParseJSON);
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/new.json?limit=100');
});
test('GIVEN randomSelect does NOT find a response, EXPECT failure result', async () => {
@ -135,8 +149,12 @@ describe('randomBunny', () => {
expect(result.IsSuccess).toBeFalsy();
expect(result.Result).toBeUndefined();
expect(result.Error).toBeDefined();
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/new.json');
expect(result.Error!.Code).toBe(ErrorCode.NoImageResultsFound);
expect(result.Error!.Message).toBe(ErrorMessages.NoImageResultsFound);
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/new.json?limit=100');
});
test('GIVEN randomSelect does NOT find a valid response, EXPECT failure result', async () => {
@ -166,7 +184,83 @@ describe('randomBunny', () => {
expect(result.IsSuccess).toBeFalsy();
expect(result.Result).toBeUndefined();
expect(result.Error).toBeDefined();
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/new.json');
expect(result.Error!.Code).toBe(ErrorCode.NoImageResultsFound);
expect(result.Error!.Message).toBe(ErrorMessages.NoImageResultsFound);
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/new.json?limit=100');
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/new.json?limit=100');
});
test("GIVEN data fetched is a gallery AND an image is returned from the helper, EXPECT this to be used", async () => {
fetchMock.mockResolvedValue({
body: JSON.stringify({
data: {
children: [
{
data: {
archived: false,
downs: 0,
hidden: false,
permalink: '/r/Rabbits/comments/12pa5te/someone_told_pickles_its_monday_internal_fury/',
subreddit: 'Rabbits',
subreddit_subscribers: 298713,
title: 'Someone told pickles its Monday… *internal fury*',
ups: 1208,
url: 'https://i.redd.it/gallery/cr8xudsnkgua1',
},
},
],
}
}),
});
ImageHelper.FetchImageFromRedditGallery = jest.fn().mockResolvedValue("https://i.redd.it/cr8xudsnkgua1.jpg")
const result = await randomBunny('rabbits', 'new');
expect(result.IsSuccess).toBeTruthy();
expect(result.Result).toBeDefined();
expect(fetchMock).toBeCalledWith('https://reddit.com/r/rabbits/new.json?limit=100');
expect(ImageHelper.FetchImageFromRedditGallery).toHaveBeenCalledTimes(1);
expect(ImageHelper.FetchImageFromRedditGallery).toHaveBeenCalledWith("https://i.redd.it/gallery/cr8xudsnkgua1");
});
test("GIVEN data fetched is a gallery AND an image is not returned from the helper, EXPECT error", async () => {
fetchMock.mockResolvedValue({
body: JSON.stringify({
data: {
children: [
{
data: {
archived: false,
downs: 0,
hidden: false,
permalink: '/r/Rabbits/comments/12pa5te/someone_told_pickles_its_monday_internal_fury/',
subreddit: 'Rabbits',
subreddit_subscribers: 298713,
title: 'Someone told pickles its Monday… *internal fury*',
ups: 1208,
url: 'https://i.redd.it/gallery/cr8xudsnkgua1',
},
},
],
}
}),
});
ImageHelper.FetchImageFromRedditGallery = jest.fn().mockResolvedValue(undefined)
const result = await randomBunny('rabbits', 'new');
expect(ImageHelper.FetchImageFromRedditGallery).toHaveBeenCalledTimes(1);
expect(result.IsSuccess).toBe(false);
expect(result.Error).toBeDefined();
expect(result.Error?.Code).toBe(ErrorCode.NoImageResultsFound);
expect(result.Error?.Message).toBe(ErrorMessages.NoImageResultsFound);
});
});

4099
yarn.lock

File diff suppressed because it is too large Load diff