Repository: TheOdinProject/odin-bot-v2
Pull request #481 (2023-12-18 07:05:56)

Bump eslint from 8.51.0 to 8.56.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.51.0 to 8.56.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/eslint/eslint/releases">eslint's releases</a>.</em></p>
<blockquote>
<h2>v8.56.0</h2>
<h2>Features</h2>
<ul>
<li><a href="https://github.com/eslint/eslint/commit/0dd9704c4751e1cd02039f7d6485fee09bbccbf6"><code>0dd9704</code></a> feat: Support custom severity when reporting unused disable directives (<a href="https://redirect.github.com/eslint/eslint/issues/17212">#17212</a>) (Bryan Mishkin)</li>
<li><a href="https://github.com/eslint/eslint/commit/31a7e3fde491e36496b54e8905c766b31162d776"><code>31a7e3f</code></a> feat: fix no-restricted-properties false negatives with unknown objects (<a href="https://redirect.github.com/eslint/eslint/issues/17818">#17818</a>) (Arka Pratim Chaudhuri)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li><a href="https://github.com/eslint/eslint/commit/7d5e5f68849ae80caec0fc96ecceebccd348deec"><code>7d5e5f6</code></a> fix: <code>TypeError: fs.exists is not a function</code> on read-only file system (<a href="https://redirect.github.com/eslint/eslint/issues/17846">#17846</a>) (Francesco Trotta)</li>
<li><a href="https://github.com/eslint/eslint/commit/74739c849bbb6547b0e555ed8bb2ba1cbe0fdce4"><code>74739c8</code></a> fix: suggestion with invalid syntax in no-promise-executor-return rule (<a href="https://redirect.github.com/eslint/eslint/issues/17812">#17812</a>) (Bryan Mishkin)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a href="https://github.com/eslint/eslint/commit/90077199fe519953f9af8664bf947db4e4958514"><code>9007719</code></a> docs: update link in ways-to-extend.md (<a href="https://redirect.github.com/eslint/eslint/issues/17839">#17839</a>) (Amel SELMANE)</li>
<li><a href="https://github.com/eslint/eslint/commit/3a22236f8d10af8a5bcafe56092651d3d681c99d"><code>3a22236</code></a> docs: Update README (GitHub Actions Bot)</li>
<li><a href="https://github.com/eslint/eslint/commit/54c3ca6f2dcd2a7afd53f42fc32055a25587259e"><code>54c3ca6</code></a> docs: fix migration-guide example (<a href="https://redirect.github.com/eslint/eslint/issues/17829">#17829</a>) (Tanuj Kanti)</li>
<li><a href="https://github.com/eslint/eslint/commit/4391b71e62b15e54b0493f0dce1ea053ebbc0689"><code>4391b71</code></a> docs: check config comments in rule examples (<a href="https://redirect.github.com/eslint/eslint/issues/17815">#17815</a>) (Francesco Trotta)</li>
<li><a href="https://github.com/eslint/eslint/commit/fd2836342c2be4751b05fe0ba7cece17d1edecc8"><code>fd28363</code></a> docs: remove mention about ESLint stylistic rules in readme (<a href="https://redirect.github.com/eslint/eslint/issues/17810">#17810</a>) (Zwyx)</li>
<li><a href="https://github.com/eslint/eslint/commit/48ed5a6dad478a14d3e823f137455c523f373e0b"><code>48ed5a6</code></a> docs: Update README (GitHub Actions Bot)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a href="https://github.com/eslint/eslint/commit/ba6af85c7d8ba55d37f8663aee949d148e441c1a"><code>ba6af85</code></a> chore: upgrade <code>@​eslint/js</code><a href="https://github.com/8"><code>@​8</code></a>.56.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17864">#17864</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/60a531a9c0811ddf718e26b9136e133f580b6c36"><code>60a531a</code></a> chore: package.json update for <code>@​eslint/js</code> release (Jenkins)</li>
<li><a href="https://github.com/eslint/eslint/commit/ba87a0651a65b52c3ac442b512dd9f4c2b4c5f57"><code>ba87a06</code></a> chore: update dependency markdownlint to ^0.32.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17783">#17783</a>) (renovate[bot])</li>
<li><a href="https://github.com/eslint/eslint/commit/9271d10d9eabeafb0129a090f29191bfd14273c0"><code>9271d10</code></a> chore: add GitHub issue template for docs issues (<a href="https://redirect.github.com/eslint/eslint/issues/17845">#17845</a>) (Josh Goldberg ✨)</li>
<li><a href="https://github.com/eslint/eslint/commit/70a686b3c1feac5eca98bbff9bd67175f550d5db"><code>70a686b</code></a> chore: Convert rule tests to FlatRuleTester (<a href="https://redirect.github.com/eslint/eslint/issues/17819">#17819</a>) (Nicholas C. Zakas)</li>
<li><a href="https://github.com/eslint/eslint/commit/f3a599d34c7080fc0b2c9a60b5e54dc98c22867c"><code>f3a599d</code></a> chore: upgrade eslint-plugin-unicorn to v49.0.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17837">#17837</a>) (唯然)</li>
<li><a href="https://github.com/eslint/eslint/commit/905d4b75ab2df42aba30622cee0f66b511397e2c"><code>905d4b7</code></a> chore: upgrade eslint-plugin-eslint-plugin v5.2.1 (<a href="https://redirect.github.com/eslint/eslint/issues/17838">#17838</a>) (唯然)</li>
<li><a href="https://github.com/eslint/eslint/commit/4d7c3ce246e6b499f472342ef59496a47cc033d6"><code>4d7c3ce</code></a> chore: update eslint-plugin-n v16.4.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17836">#17836</a>) (唯然)</li>
<li><a href="https://github.com/eslint/eslint/commit/fd0c60c3be1f213e5a6d69d8a3248e963619e155"><code>fd0c60c</code></a> ci: unpin Node.js 21.2.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17821">#17821</a>) (Francesco Trotta)</li>
</ul>
<h2>v8.55.0</h2>
<h2>Features</h2>
<ul>
<li><a href="https://github.com/eslint/eslint/commit/8c9e6c100a6eb69da292463293b3b48cff911a01"><code>8c9e6c1</code></a> feat: importNamePattern option in no-restricted-imports (<a href="https://redirect.github.com/eslint/eslint/issues/17721">#17721</a>) (Tanuj Kanti)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a href="https://github.com/eslint/eslint/commit/83ece2afc2dc6c49efe82678663fe4cba590c0e5"><code>83ece2a</code></a> docs: fix typo <code>--rules</code> -&gt; <code>--rule</code> (<a href="https://redirect.github.com/eslint/eslint/issues/17806">#17806</a>) (OKURA Masafumi)</li>
<li><a href="https://github.com/eslint/eslint/commit/fffca5c362bcd205dbf79d1bb52834f8a98fc6bd"><code>fffca5c</code></a> docs: remove &quot;Open in Playground&quot; buttons for removed rules (<a href="https://redirect.github.com/eslint/eslint/issues/17791">#17791</a>) (Francesco Trotta)</li>
<li><a href="https://github.com/eslint/eslint/commit/a6d9442a9ab34d5d19f78d8c8fd0767a1237bfe3"><code>a6d9442</code></a> docs: fix correct/incorrect examples of rules (<a href="https://redirect.github.com/eslint/eslint/issues/17789">#17789</a>) (Tanuj Kanti)</li>
<li><a href="https://github.com/eslint/eslint/commit/383e99928d7ce649ec9030c9856b03fbac0c3501"><code>383e999</code></a> docs: update and fix examples for <code>no-unused-vars</code> (<a href="https://redirect.github.com/eslint/eslint/issues/17788">#17788</a>) (Tanuj Kanti)</li>
<li><a href="https://github.com/eslint/eslint/commit/5a8efd5b7ad13eb320a1f468d1d4ab3c8ab99214"><code>5a8efd5</code></a> docs: add specific stylistic rule for each deprecated rule (<a href="https://redirect.github.com/eslint/eslint/issues/17778">#17778</a>) (Etienne)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a href="https://github.com/eslint/eslint/commit/eb8950c3b811c9163b9aae23af8b6266ad98b295"><code>eb8950c</code></a> chore: upgrade <code>@​eslint/js</code><a href="https://github.com/8"><code>@​8</code></a>.55.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17811">#17811</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/93df3849a7a25ebe0502000bf0bfb80a6613a5ae"><code>93df384</code></a> chore: package.json update for <code>@​eslint/js</code> release (Jenkins)</li>
<li><a href="https://github.com/eslint/eslint/commit/fe4b9545a83e9aca7ba4bb77bc9c868d57de777f"><code>fe4b954</code></a> chore: upgrade <code>@​eslint/eslintrc</code><a href="https://github.com/2"><code>@​2</code></a>.1.4 (<a href="https://redirect.github.com/eslint/eslint/issues/17799">#17799</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/bd8911db85c7a1127543c9212c8cea47a5cb687d"><code>bd8911d</code></a> ci: pin Node.js 21.2.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17809">#17809</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/b29a16b22f234f6134475efb6c7be5ac946556ee"><code>b29a16b</code></a> chore: fix several <code>cli</code> tests to run in the intended flat config mode (<a href="https://redirect.github.com/eslint/eslint/issues/17797">#17797</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/de165c108203c6703516ac651f5b4cac5b241804"><code>de165c1</code></a> chore: remove unused config-extends fixtures (<a href="https://redirect.github.com/eslint/eslint/issues/17781">#17781</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/d4304b8b66eac870ffbf4840d84add8a123b25fc"><code>d4304b8</code></a> chore: remove formatting/stylistic rules from new rule templates (<a href="https://redirect.github.com/eslint/eslint/issues/17780">#17780</a>) (Francesco Trotta)</li>
<li><a href="https://github.com/eslint/eslint/commit/21024fe2029420b413bed11d23761c87e9a02a1a"><code>21024fe</code></a> chore: check rule examples for syntax errors (<a href="https://redirect.github.com/eslint/eslint/issues/17718">#17718</a>) (Francesco Trotta)</li>
</ul>
<h2>v8.54.0</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/eslint/eslint/blob/main/CHANGELOG.md">eslint's changelog</a>.</em></p>
<blockquote>
<p>v8.56.0 - December 15, 2023</p>
<ul>
<li><a href="https://github.com/eslint/eslint/commit/ba6af85c7d8ba55d37f8663aee949d148e441c1a"><code>ba6af85</code></a> chore: upgrade <code>@​eslint/js</code><a href="https://github.com/8"><code>@​8</code></a>.56.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17864">#17864</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/60a531a9c0811ddf718e26b9136e133f580b6c36"><code>60a531a</code></a> chore: package.json update for <code>@​eslint/js</code> release (Jenkins)</li>
<li><a href="https://github.com/eslint/eslint/commit/0dd9704c4751e1cd02039f7d6485fee09bbccbf6"><code>0dd9704</code></a> feat: Support custom severity when reporting unused disable directives (<a href="https://redirect.github.com/eslint/eslint/issues/17212">#17212</a>) (Bryan Mishkin)</li>
<li><a href="https://github.com/eslint/eslint/commit/31a7e3fde491e36496b54e8905c766b31162d776"><code>31a7e3f</code></a> feat: fix no-restricted-properties false negatives with unknown objects (<a href="https://redirect.github.com/eslint/eslint/issues/17818">#17818</a>) (Arka Pratim Chaudhuri)</li>
<li><a href="https://github.com/eslint/eslint/commit/ba87a0651a65b52c3ac442b512dd9f4c2b4c5f57"><code>ba87a06</code></a> chore: update dependency markdownlint to ^0.32.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17783">#17783</a>) (renovate[bot])</li>
<li><a href="https://github.com/eslint/eslint/commit/7d5e5f68849ae80caec0fc96ecceebccd348deec"><code>7d5e5f6</code></a> fix: <code>TypeError: fs.exists is not a function</code> on read-only file system (<a href="https://redirect.github.com/eslint/eslint/issues/17846">#17846</a>) (Francesco Trotta)</li>
<li><a href="https://github.com/eslint/eslint/commit/9271d10d9eabeafb0129a090f29191bfd14273c0"><code>9271d10</code></a> chore: add GitHub issue template for docs issues (<a href="https://redirect.github.com/eslint/eslint/issues/17845">#17845</a>) (Josh Goldberg ✨)</li>
<li><a href="https://github.com/eslint/eslint/commit/70a686b3c1feac5eca98bbff9bd67175f550d5db"><code>70a686b</code></a> chore: Convert rule tests to FlatRuleTester (<a href="https://redirect.github.com/eslint/eslint/issues/17819">#17819</a>) (Nicholas C. Zakas)</li>
<li><a href="https://github.com/eslint/eslint/commit/90077199fe519953f9af8664bf947db4e4958514"><code>9007719</code></a> docs: update link in ways-to-extend.md (<a href="https://redirect.github.com/eslint/eslint/issues/17839">#17839</a>) (Amel SELMANE)</li>
<li><a href="https://github.com/eslint/eslint/commit/f3a599d34c7080fc0b2c9a60b5e54dc98c22867c"><code>f3a599d</code></a> chore: upgrade eslint-plugin-unicorn to v49.0.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17837">#17837</a>) (唯然)</li>
<li><a href="https://github.com/eslint/eslint/commit/905d4b75ab2df42aba30622cee0f66b511397e2c"><code>905d4b7</code></a> chore: upgrade eslint-plugin-eslint-plugin v5.2.1 (<a href="https://redirect.github.com/eslint/eslint/issues/17838">#17838</a>) (唯然)</li>
<li><a href="https://github.com/eslint/eslint/commit/4d7c3ce246e6b499f472342ef59496a47cc033d6"><code>4d7c3ce</code></a> chore: update eslint-plugin-n v16.4.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17836">#17836</a>) (唯然)</li>
<li><a href="https://github.com/eslint/eslint/commit/3a22236f8d10af8a5bcafe56092651d3d681c99d"><code>3a22236</code></a> docs: Update README (GitHub Actions Bot)</li>
<li><a href="https://github.com/eslint/eslint/commit/54c3ca6f2dcd2a7afd53f42fc32055a25587259e"><code>54c3ca6</code></a> docs: fix migration-guide example (<a href="https://redirect.github.com/eslint/eslint/issues/17829">#17829</a>) (Tanuj Kanti)</li>
<li><a href="https://github.com/eslint/eslint/commit/4391b71e62b15e54b0493f0dce1ea053ebbc0689"><code>4391b71</code></a> docs: check config comments in rule examples (<a href="https://redirect.github.com/eslint/eslint/issues/17815">#17815</a>) (Francesco Trotta)</li>
<li><a href="https://github.com/eslint/eslint/commit/fd2836342c2be4751b05fe0ba7cece17d1edecc8"><code>fd28363</code></a> docs: remove mention about ESLint stylistic rules in readme (<a href="https://redirect.github.com/eslint/eslint/issues/17810">#17810</a>) (Zwyx)</li>
<li><a href="https://github.com/eslint/eslint/commit/fd0c60c3be1f213e5a6d69d8a3248e963619e155"><code>fd0c60c</code></a> ci: unpin Node.js 21.2.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17821">#17821</a>) (Francesco Trotta)</li>
<li><a href="https://github.com/eslint/eslint/commit/48ed5a6dad478a14d3e823f137455c523f373e0b"><code>48ed5a6</code></a> docs: Update README (GitHub Actions Bot)</li>
<li><a href="https://github.com/eslint/eslint/commit/74739c849bbb6547b0e555ed8bb2ba1cbe0fdce4"><code>74739c8</code></a> fix: suggestion with invalid syntax in no-promise-executor-return rule (<a href="https://redirect.github.com/eslint/eslint/issues/17812">#17812</a>) (Bryan Mishkin)</li>
</ul>
<p>v8.55.0 - December 1, 2023</p>
<ul>
<li><a href="https://github.com/eslint/eslint/commit/eb8950c3b811c9163b9aae23af8b6266ad98b295"><code>eb8950c</code></a> chore: upgrade <code>@​eslint/js</code><a href="https://github.com/8"><code>@​8</code></a>.55.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17811">#17811</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/93df3849a7a25ebe0502000bf0bfb80a6613a5ae"><code>93df384</code></a> chore: package.json update for <code>@​eslint/js</code> release (Jenkins)</li>
<li><a href="https://github.com/eslint/eslint/commit/fe4b9545a83e9aca7ba4bb77bc9c868d57de777f"><code>fe4b954</code></a> chore: upgrade <code>@​eslint/eslintrc</code><a href="https://github.com/2"><code>@​2</code></a>.1.4 (<a href="https://redirect.github.com/eslint/eslint/issues/17799">#17799</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/8c9e6c100a6eb69da292463293b3b48cff911a01"><code>8c9e6c1</code></a> feat: importNamePattern option in no-restricted-imports (<a href="https://redirect.github.com/eslint/eslint/issues/17721">#17721</a>) (Tanuj Kanti)</li>
<li><a href="https://github.com/eslint/eslint/commit/83ece2afc2dc6c49efe82678663fe4cba590c0e5"><code>83ece2a</code></a> docs: fix typo <code>--rules</code> -&gt; <code>--rule</code> (<a href="https://redirect.github.com/eslint/eslint/issues/17806">#17806</a>) (OKURA Masafumi)</li>
<li><a href="https://github.com/eslint/eslint/commit/bd8911db85c7a1127543c9212c8cea47a5cb687d"><code>bd8911d</code></a> ci: pin Node.js 21.2.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17809">#17809</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/b29a16b22f234f6134475efb6c7be5ac946556ee"><code>b29a16b</code></a> chore: fix several <code>cli</code> tests to run in the intended flat config mode (<a href="https://redirect.github.com/eslint/eslint/issues/17797">#17797</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/fffca5c362bcd205dbf79d1bb52834f8a98fc6bd"><code>fffca5c</code></a> docs: remove &quot;Open in Playground&quot; buttons for removed rules (<a href="https://redirect.github.com/eslint/eslint/issues/17791">#17791</a>) (Francesco Trotta)</li>
<li><a href="https://github.com/eslint/eslint/commit/a6d9442a9ab34d5d19f78d8c8fd0767a1237bfe3"><code>a6d9442</code></a> docs: fix correct/incorrect examples of rules (<a href="https://redirect.github.com/eslint/eslint/issues/17789">#17789</a>) (Tanuj Kanti)</li>
<li><a href="https://github.com/eslint/eslint/commit/383e99928d7ce649ec9030c9856b03fbac0c3501"><code>383e999</code></a> docs: update and fix examples for <code>no-unused-vars</code> (<a href="https://redirect.github.com/eslint/eslint/issues/17788">#17788</a>) (Tanuj Kanti)</li>
<li><a href="https://github.com/eslint/eslint/commit/5a8efd5b7ad13eb320a1f468d1d4ab3c8ab99214"><code>5a8efd5</code></a> docs: add specific stylistic rule for each deprecated rule (<a href="https://redirect.github.com/eslint/eslint/issues/17778">#17778</a>) (Etienne)</li>
<li><a href="https://github.com/eslint/eslint/commit/de165c108203c6703516ac651f5b4cac5b241804"><code>de165c1</code></a> chore: remove unused config-extends fixtures (<a href="https://redirect.github.com/eslint/eslint/issues/17781">#17781</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/d4304b8b66eac870ffbf4840d84add8a123b25fc"><code>d4304b8</code></a> chore: remove formatting/stylistic rules from new rule templates (<a href="https://redirect.github.com/eslint/eslint/issues/17780">#17780</a>) (Francesco Trotta)</li>
<li><a href="https://github.com/eslint/eslint/commit/21024fe2029420b413bed11d23761c87e9a02a1a"><code>21024fe</code></a> chore: check rule examples for syntax errors (<a href="https://redirect.github.com/eslint/eslint/issues/17718">#17718</a>) (Francesco Trotta)</li>
</ul>
<p>v8.54.0 - November 17, 2023</p>
<ul>
<li><a href="https://github.com/eslint/eslint/commit/d644de9a4b593b565617303a095bc9aa69e7b768"><code>d644de9</code></a> chore: upgrade <code>@​eslint/js</code><a href="https://github.com/8"><code>@​8</code></a>.54.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17773">#17773</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/1e6e31415cc429a3a9fc64b2ec03df0e0ec0c91b"><code>1e6e314</code></a> chore: package.json update for <code>@​eslint/js</code> release (Jenkins)</li>
<li><a href="https://github.com/eslint/eslint/commit/98926e6e7323e5dd12a9f016cb558144296665af"><code>98926e6</code></a> fix: Ensure that extra data is not accidentally stored in the cache file (<a href="https://redirect.github.com/eslint/eslint/issues/17760">#17760</a>) (Milos Djermanovic)</li>
<li><a href="https://github.com/eslint/eslint/commit/a7a883bd6ba4f140b60cbbb2be5b53d750f6c8db"><code>a7a883b</code></a> feat: for-direction rule add check for condition in reverse order (<a href="https://redirect.github.com/eslint/eslint/issues/17755">#17755</a>) (Angelo Annunziata)</li>
<li><a href="https://github.com/eslint/eslint/commit/1452dc9f12c45c05d7c569f737221f0d988ecef1"><code>1452dc9</code></a> feat: Add suggestions to no-console (<a href="https://redirect.github.com/eslint/eslint/issues/17680">#17680</a>) (Joel Mathew Koshy)</li>
<li><a href="https://github.com/eslint/eslint/commit/6fb8805310afe7476d6c404f172177a6d15fcf11"><code>6fb8805</code></a> chore: Fixed grammar in issue_templates/rule_change (<a href="https://redirect.github.com/eslint/eslint/issues/17770">#17770</a>) (Joel Mathew Koshy)</li>
<li><a href="https://github.com/eslint/eslint/commit/becfdd39b25d795e56c9a13eb3e77af6b9c86e8a"><code>becfdd3</code></a> docs: Make clear when rules are removed (<a href="https://redirect.github.com/eslint/eslint/issues/17728">#17728</a>) (Nicholas C. Zakas)</li>
<li><a href="https://github.com/eslint/eslint/commit/e8cf9f6a524332293f8b2c90a2db4a532e47d919"><code>e8cf9f6</code></a> fix: Make dark scroll bar in dark theme (<a href="https://redirect.github.com/eslint/eslint/issues/17753">#17753</a>) (Pavel)</li>
<li><a href="https://github.com/eslint/eslint/commit/85db7243ddb8706ed60ab64a7ddf604d0d7de493"><code>85db724</code></a> chore: upgrade <code>markdownlint</code> to 0.31.1 (<a href="https://redirect.github.com/eslint/eslint/issues/17754">#17754</a>) (Nitin Kumar)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/eslint/eslint/commit/8e8e9f8476d701e4e981b9b4d9957e5d4855e530"><code>8e8e9f8</code></a> 8.56.0</li>
<li><a href="https://github.com/eslint/eslint/commit/085978b3ce051e454c2244bf36a9493f7fa95d41"><code>085978b</code></a> Build: changelog update for 8.56.0</li>
<li><a href="https://github.com/eslint/eslint/commit/ba6af85c7d8ba55d37f8663aee949d148e441c1a"><code>ba6af85</code></a> chore: upgrade <code>@​eslint/js</code><a href="https://github.com/8"><code>@​8</code></a>.56.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17864">#17864</a>)</li>
<li><a href="https://github.com/eslint/eslint/commit/60a531a9c0811ddf718e26b9136e133f580b6c36"><code>60a531a</code></a> chore: package.json update for <code>@​eslint/js</code> release</li>
<li><a href="https://github.com/eslint/eslint/commit/0dd9704c4751e1cd02039f7d6485fee09bbccbf6"><code>0dd9704</code></a> feat: Support custom severity when reporting unused disable directives (<a href="https://redirect.github.com/eslint/eslint/issues/17212">#17212</a>)</li>
<li><a href="https://github.com/eslint/eslint/commit/31a7e3fde491e36496b54e8905c766b31162d776"><code>31a7e3f</code></a> feat: fix no-restricted-properties false negatives with unknown objects (<a href="https://redirect.github.com/eslint/eslint/issues/17818">#17818</a>)</li>
<li><a href="https://github.com/eslint/eslint/commit/ba87a0651a65b52c3ac442b512dd9f4c2b4c5f57"><code>ba87a06</code></a> chore: update dependency markdownlint to ^0.32.0 (<a href="https://redirect.github.com/eslint/eslint/issues/17783">#17783</a>)</li>
<li><a href="https://github.com/eslint/eslint/commit/7d5e5f68849ae80caec0fc96ecceebccd348deec"><code>7d5e5f6</code></a> fix: <code>TypeError: fs.exists is not a function</code> on read-only file system (<a href="https://redirect.github.com/eslint/eslint/issues/17846">#17846</a>)</li>
<li><a href="https://github.com/eslint/eslint/commit/9271d10d9eabeafb0129a090f29191bfd14273c0"><code>9271d10</code></a> chore: add GitHub issue template for docs issues (<a href="https://redirect.github.com/eslint/eslint/issues/17845">#17845</a>)</li>
<li><a href="https://github.com/eslint/eslint/commit/70a686b3c1feac5eca98bbff9bd67175f550d5db"><code>70a686b</code></a> chore: Convert rule tests to FlatRuleTester (<a href="https://redirect.github.com/eslint/eslint/issues/17819">#17819</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/eslint/eslint/compare/v8.51.0...v8.56.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint&package-manager=npm_and_yarn&previous-version=8.51.0&new-version=8.56.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>


Patch:
diff --git a/package-lock.json b/package-lock.json
index a6d4d91..5d6c7d1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,7 +21,7 @@
       "devDependencies": {
         "@babel/eslint-parser": "^7.22.15",
         "@babel/preset-env": "^7.22.20",
-        "eslint": "^8.51.0",
+        "eslint": "^8.56.0",
         "eslint-config-airbnb-base": "^15.0.0",
         "eslint-config-prettier": "^9.0.0",
         "eslint-plugin-import": "^2.28.1",
@@ -53,12 +53,12 @@
       }
     },
     "node_modules/@babel/code-frame": {
-      "version": "7.22.13",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
-      "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+      "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
       "dev": true,
       "dependencies": {
-        "@babel/highlight": "^7.22.13",
+        "@babel/highlight": "^7.23.4",
         "chalk": "^2.4.2"
       },
       "engines": {
@@ -212,12 +212,12 @@
       }
     },
     "node_modules/@babel/generator": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz",
-      "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==",
+      "version": "7.23.6",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
+      "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.22.5",
+        "@babel/types": "^7.23.6",
         "@jridgewell/gen-mapping": "^0.3.2",
         "@jridgewell/trace-mapping": "^0.3.17",
         "jsesc": "^2.5.1"
@@ -374,13 +374,13 @@
       }
     },
     "node_modules/@babel/helper-function-name": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
-      "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
+      "version": "7.23.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+      "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
       "dev": true,
       "dependencies": {
-        "@babel/template": "^7.22.5",
-        "@babel/types": "^7.22.5"
+        "@babel/template": "^7.22.15",
+        "@babel/types": "^7.23.0"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -533,9 +533,9 @@
       }
     },
     "node_modules/@babel/helper-string-parser": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
-      "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
+      "version": "7.23.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+      "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
@@ -588,9 +588,9 @@
       }
     },
     "node_modules/@babel/highlight": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
-      "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
+      "version": "7.23.4",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+      "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
       "dev": true,
       "dependencies": {
         "@babel/helper-validator-identifier": "^7.22.20",
@@ -673,9 +673,9 @@
       }
     },
     "node_modules/@babel/parser": {
-      "version": "7.22.16",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz",
-      "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==",
+      "version": "7.23.6",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
+      "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
       "dev": true,
       "bin": {
         "parser": "bin/babel-parser.js"
@@ -1936,20 +1936,20 @@
       }
     },
     "node_modules/@babel/traverse": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz",
-      "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==",
+      "version": "7.23.6",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz",
+      "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==",
       "dev": true,
       "dependencies": {
-        "@babel/code-frame": "^7.22.5",
-        "@babel/generator": "^7.22.5",
-        "@babel/helper-environment-visitor": "^7.22.5",
-        "@babel/helper-function-name": "^7.22.5",
+        "@babel/code-frame": "^7.23.5",
+        "@babel/generator": "^7.23.6",
+        "@babel/helper-environment-visitor": "^7.22.20",
+        "@babel/helper-function-name": "^7.23.0",
         "@babel/helper-hoist-variables": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.5",
-        "@babel/parser": "^7.22.5",
-        "@babel/types": "^7.22.5",
-        "debug": "^4.1.0",
+        "@babel/helper-split-export-declaration": "^7.22.6",
+        "@babel/parser": "^7.23.6",
+        "@babel/types": "^7.23.6",
+        "debug": "^4.3.1",
         "globals": "^11.1.0"
       },
       "engines": {
@@ -1966,13 +1966,13 @@
       }
     },
     "node_modules/@babel/types": {
-      "version": "7.22.19",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.19.tgz",
-      "integrity": "sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==",
+      "version": "7.23.6",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
+      "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-string-parser": "^7.22.5",
-        "@babel/helper-validator-identifier": "^7.22.19",
+        "@babel/helper-string-parser": "^7.23.4",
+        "@babel/helper-validator-identifier": "^7.22.20",
         "to-fast-properties": "^2.0.0"
       },
       "engines": {
@@ -2104,9 +2104,9 @@
       }
     },
     "node_modules/@eslint/eslintrc": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
-      "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+      "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
       "dev": true,
       "dependencies": {
         "ajv": "^6.12.4",
@@ -2145,9 +2145,9 @@
       }
     },
     "node_modules/@eslint/js": {
-      "version": "8.51.0",
-      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz",
-      "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==",
+      "version": "8.56.0",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
+      "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
       "dev": true,
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2162,12 +2162,12 @@
       }
     },
     "node_modules/@humanwhocodes/config-array": {
-      "version": "0.11.11",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
-      "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
+      "version": "0.11.13",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
+      "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
       "dev": true,
       "dependencies": {
-        "@humanwhocodes/object-schema": "^1.2.1",
+        "@humanwhocodes/object-schema": "^2.0.1",
         "debug": "^4.1.1",
         "minimatch": "^3.0.5"
       },
@@ -2189,9 +2189,9 @@
       }
     },
     "node_modules/@humanwhocodes/object-schema": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
-      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
+      "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
       "dev": true
     },
     "node_modules/@ioredis/commands": {
@@ -2901,6 +2901,12 @@
       "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
       "dev": true
     },
+    "node_modules/@ungap/structured-clone": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+      "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+      "dev": true
+    },
     "node_modules/@vladfrangu/async_event_emitter": {
       "version": "2.2.2",
       "resolved": "https://registry.npmjs.org/@vladfrangu/async_event_emitter/-/async_event_emitter-2.2.2.tgz",
@@ -2917,9 +2923,9 @@
       "dev": true
     },
     "node_modules/acorn": {
-      "version": "8.10.0",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
-      "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
+      "version": "8.11.2",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
+      "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
       "dev": true,
       "bin": {
         "acorn": "bin/acorn"
@@ -4021,18 +4027,19 @@
       }
     },
     "node_modules/eslint": {
-      "version": "8.51.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz",
-      "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==",
+      "version": "8.56.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
+      "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
       "dev": true,
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.2.0",
         "@eslint-community/regexpp": "^4.6.1",
-        "@eslint/eslintrc": "^2.1.2",
-        "@eslint/js": "8.51.0",
-        "@humanwhocodes/config-array": "^0.11.11",
+        "@eslint/eslintrc": "^2.1.4",
+        "@eslint/js": "8.56.0",
+        "@humanwhocodes/config-array": "^0.11.13",
         "@humanwhocodes/module-importer": "^1.0.1",
         "@nodelib/fs.walk": "^1.2.8",
+        "@ungap/structured-clone": "^1.2.0",
         "ajv": "^6.12.4",
         "chalk": "^4.0.0",
         "cross-spawn": "^7.0.2",
@@ -4695,9 +4702,9 @@
       "dev": true
     },
     "node_modules/follow-redirects": {
-      "version": "1.15.2",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
-      "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
+      "version": "1.15.4",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz",
+      "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==",
       "funding": [
         {
           "type": "individual",
@@ -4927,9 +4934,9 @@
       }
     },
     "node_modules/globals": {
-      "version": "13.23.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
-      "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
+      "version": "13.24.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+      "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
       "dev": true,
       "dependencies": {
         "type-fest": "^0.20.2"
@@ -5092,9 +5099,9 @@
       }
     },
     "node_modules/ignore": {
-      "version": "5.2.4",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
-      "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
+      "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
       "dev": true,
       "engines": {
         "node": ">= 4"
@@ -7270,9 +7277,9 @@
       "dev": true
     },
     "node_modules/punycode": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
-      "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+      "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
       "dev": true,
       "engines": {
         "node": ">=6"
@@ -8523,12 +8530,12 @@
       }
     },
     "@babel/code-frame": {
-      "version": "7.22.13",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
-      "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+      "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
       "dev": true,
       "requires": {
-        "@babel/highlight": "^7.22.13",
+        "@babel/highlight": "^7.23.4",
         "chalk": "^2.4.2"
       },
       "dependencies": {
@@ -8647,12 +8654,12 @@
       }
     },
     "@babel/generator": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz",
-      "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==",
+      "version": "7.23.6",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
+      "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.22.5",
+        "@babel/types": "^7.23.6",
         "@jridgewell/gen-mapping": "^0.3.2",
         "@jridgewell/trace-mapping": "^0.3.17",
         "jsesc": "^2.5.1"
@@ -8776,13 +8783,13 @@
       "dev": true
     },
     "@babel/helper-function-name": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
-      "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
+      "version": "7.23.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+      "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.22.5",
-        "@babel/types": "^7.22.5"
+        "@babel/template": "^7.22.15",
+        "@babel/types": "^7.23.0"
       }
     },
     "@babel/helper-hoist-variables": {
@@ -8890,9 +8897,9 @@
       }
     },
     "@babel/helper-string-parser": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
-      "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
+      "version": "7.23.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+      "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
       "dev": true
     },
     "@babel/helper-validator-identifier": {
@@ -8930,9 +8937,9 @@
       }
     },
     "@babel/highlight": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
-      "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
+      "version": "7.23.4",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+      "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
       "dev": true,
       "requires": {
         "@babel/helper-validator-identifier": "^7.22.20",
@@ -8999,9 +9006,9 @@
       }
     },
     "@babel/parser": {
-      "version": "7.22.16",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz",
-      "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==",
+      "version": "7.23.6",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
+      "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
       "dev": true
     },
     "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
@@ -9847,20 +9854,20 @@
       }
     },
     "@babel/traverse": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz",
-      "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==",
+      "version": "7.23.6",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz",
+      "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.22.5",
-        "@babel/generator": "^7.22.5",
-        "@babel/helper-environment-visitor": "^7.22.5",
-        "@babel/helper-function-name": "^7.22.5",
+        "@babel/code-frame": "^7.23.5",
+        "@babel/generator": "^7.23.6",
+        "@babel/helper-environment-visitor": "^7.22.20",
+        "@babel/helper-function-name": "^7.23.0",
         "@babel/helper-hoist-variables": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.5",
-        "@babel/parser": "^7.22.5",
-        "@babel/types": "^7.22.5",
-        "debug": "^4.1.0",
+        "@babel/helper-split-export-declaration": "^7.22.6",
+        "@babel/parser": "^7.23.6",
+        "@babel/types": "^7.23.6",
+        "debug": "^4.3.1",
         "globals": "^11.1.0"
       },
       "dependencies": {
@@ -9873,13 +9880,13 @@
       }
     },
     "@babel/types": {
-      "version": "7.22.19",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.19.tgz",
-      "integrity": "sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==",
+      "version": "7.23.6",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
+      "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
       "dev": true,
       "requires": {
-        "@babel/helper-string-parser": "^7.22.5",
-        "@babel/helper-validator-identifier": "^7.22.19",
+        "@babel/helper-string-parser": "^7.23.4",
+        "@babel/helper-validator-identifier": "^7.22.20",
         "to-fast-properties": "^2.0.0"
       }
     },
@@ -9977,9 +9984,9 @@
       "dev": true
     },
     "@eslint/eslintrc": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
-      "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+      "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
       "dev": true,
       "requires": {
         "ajv": "^6.12.4",
@@ -10011,9 +10018,9 @@
       }
     },
     "@eslint/js": {
-      "version": "8.51.0",
-      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz",
-      "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==",
+      "version": "8.56.0",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
+      "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
       "dev": true
     },
     "@fastify/busboy": {
@@ -10022,12 +10029,12 @@
       "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA=="
     },
     "@humanwhocodes/config-array": {
-      "version": "0.11.11",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
-      "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
+      "version": "0.11.13",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
+      "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
       "dev": true,
       "requires": {
-        "@humanwhocodes/object-schema": "^1.2.1",
+        "@humanwhocodes/object-schema": "^2.0.1",
         "debug": "^4.1.1",
         "minimatch": "^3.0.5"
       }
@@ -10039,9 +10046,9 @@
       "dev": true
     },
     "@humanwhocodes/object-schema": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
-      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
+      "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
       "dev": true
     },
     "@ioredis/commands": {
@@ -10621,6 +10628,12 @@
       "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
       "dev": true
     },
+    "@ungap/structured-clone": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+      "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+      "dev": true
+    },
     "@vladfrangu/async_event_emitter": {
       "version": "2.2.2",
       "resolved": "https://registry.npmjs.org/@vladfrangu/async_event_emitter/-/async_event_emitter-2.2.2.tgz",
@@ -10633,9 +10646,9 @@
       "dev": true
     },
     "acorn": {
-      "version": "8.10.0",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
-      "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
+      "version": "8.11.2",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
+      "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
       "dev": true
     },
     "acorn-jsx": {
@@ -11431,18 +11444,19 @@
       "dev": true
     },
     "eslint": {
-      "version": "8.51.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz",
-      "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==",
+      "version": "8.56.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
+      "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
       "dev": true,
       "requires": {
         "@eslint-community/eslint-utils": "^4.2.0",
         "@eslint-community/regexpp": "^4.6.1",
-        "@eslint/eslintrc": "^2.1.2",
-        "@eslint/js": "8.51.0",
-        "@humanwhocodes/config-array": "^0.11.11",
+        "@eslint/eslintrc": "^2.1.4",
+        "@eslint/js": "8.56.0",
+        "@humanwhocodes/config-array": "^0.11.13",
         "@humanwhocodes/module-importer": "^1.0.1",
         "@nodelib/fs.walk": "^1.2.8",
+        "@ungap/structured-clone": "^1.2.0",
         "ajv": "^6.12.4",
         "chalk": "^4.0.0",
         "cross-spawn": "^7.0.2",
@@ -11931,9 +11945,9 @@
       "dev": true
     },
     "follow-redirects": {
-      "version": "1.15.2",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
-      "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
+      "version": "1.15.4",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz",
+      "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw=="
     },
     "for-each": {
       "version": "0.3.3",
@@ -12083,9 +12097,9 @@
       }
     },
     "globals": {
-      "version": "13.23.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
-      "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
+      "version": "13.24.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+      "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
       "dev": true,
       "requires": {
         "type-fest": "^0.20.2"
@@ -12191,9 +12205,9 @@
       "dev": true
     },
     "ignore": {
-      "version": "5.2.4",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
-      "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
+      "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
       "dev": true
     },
     "ignore-by-default": {
@@ -13772,9 +13786,9 @@
       "dev": true
     },
     "punycode": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
-      "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+      "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
       "dev": true
     },
     "pure-rand": {
diff --git a/package.json b/package.json
index 2573068..2af548c 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,7 @@
   "devDependencies": {
     "@babel/eslint-parser": "^7.22.15",
     "@babel/preset-env": "^7.22.20",
-    "eslint": "^8.51.0",
+    "eslint": "^8.56.0",
     "eslint-config-airbnb-base": "^15.0.0",
     "eslint-config-prettier": "^9.0.0",
     "eslint-plugin-import": "^2.28.1",
diff --git a/services/update-faq/update-faq.service.js b/services/update-faq/update-faq.service.js
index 7f005ad..7efe461 100644
--- a/services/update-faq/update-faq.service.js
+++ b/services/update-faq/update-faq.service.js
@@ -4,6 +4,8 @@ const config = require('../../config');
 class UpdateFAQsService {
   static EmbedDescriptionCharacterLimit = 4096;
 
+  static Delimiter = '###'
+
   static async handleInteraction(interaction) {
     let rawFAQs;
     try {
@@ -29,7 +31,7 @@ class UpdateFAQsService {
 
   static createFAQEmbeds(rawFAQs) {
     return UpdateFAQsService
-      .segments(rawFAQs, UpdateFAQsService.EmbedDescriptionCharacterLimit)
+      .segments(rawFAQs, UpdateFAQsService.EmbedDescriptionCharacterLimit, UpdateFAQsService.Delimiter)
       .map((chunk) => new EmbedBuilder().setColor('#cc9543').setDescription(chunk));
   }
 
@@ -44,11 +46,29 @@ class UpdateFAQsService {
     prev.forEach((message) => message.delete());
   }
 
-  static segments(string, length) {
-    const segments = [];
-    for (let i = 0; i < string.length; i += length) {
-      segments.push(string.substring(i, i + length));
+  static segments(string, length, delimiter, doNotPrependDelimiter) {
+    const segmentedString = string.split(delimiter)
+    const segments = []
+    let currentSection = ""
+
+    for (let i = 0; i < segmentedString.length; i += 1) {
+      let segment = segmentedString[i]
+
+      if (!doNotPrependDelimiter) {
+        segment = delimiter + segmentedString[i]
+      }
+      if (segmentedString[i] === '') {
+        // eslint-disable-next-line no-continue
+        continue
+      }
+      if ((currentSection.length + segment.length) >= length) {
+          segments.push(currentSection)
+          currentSection = segment
+      } else {
+        currentSection += segment
+      }
     }
+    segments.push(currentSection)
     return segments;
   }
 }


Test patch:
diff --git a/services/update-faq/update-faq.service.test.js b/services/update-faq/update-faq.service.test.js
index 7b25a03..0494750 100644
--- a/services/update-faq/update-faq.service.test.js
+++ b/services/update-faq/update-faq.service.test.js
@@ -5,29 +5,73 @@ jest.spyOn(discordjs, 'EmbedBuilder');
 
 describe('UpdateFAQsService', () => {
   describe('segments', () => {
-    describe('when string size is divisible by segment length', () => {
+    describe('when string size is greater than segment length', () => {
       it('segments string correctly', () => {
-        const string = 'The Odin Project';
-        const length = 2;
-        const result = UpdateFAQsService.segments(string, length);
-        expect(result).toEqual(['Th', 'e ', 'Od', 'in', ' P', 'ro', 'je', 'ct']);
+        const string = '### The Odin Project.### Your Career in Web Development starts here';
+        const delimiter = '###'
+        const length = 25;
+        const result = UpdateFAQsService.segments(string, length, delimiter);
+        expect(result).toEqual(['### The Odin Project.', '### Your Career in Web Development starts here']);
       });
     });
-    describe('when string size is not divisible by segment length', () => {
-      it('segments string correctly', () => {
-        const string = 'The Odin Project';
-        const length = 3;
-        const result = UpdateFAQsService.segments(string, length);
-        expect(result).toEqual(['The', ' Od', 'in ', 'Pro', 'jec', 't']);
+
+    describe('when segment length is greater than string length', () => {
+      it('returns a single string', () => {
+        const string = '### The Odin Project.### Your Career in Web Development starts here';
+        const delimiter = '###'
+        const length = 75;
+        const result = UpdateFAQsService.segments(string, length, delimiter);
+        expect(result).toEqual(['### The Odin Project.### Your Career in Web Development starts here']);
       });
     });
+
     describe('when string size is 0', () => {
-      it('returns empty array', () => {
+      it('returns array containing empty string', () => {
         const string = '';
         const length = 2;
         const result = UpdateFAQsService.segments(string, length);
-        expect(result).toEqual([]);
+        expect(result).toEqual([""]);
       });
     });
+
+    describe('when different delimiters are used', () => {
+      it('returns the string with the correct delimiter', () => {
+        const string = '& The Odin Project.& Your Career in Web Development starts here';
+        const delimiter = '&'
+        const length = 25;
+        const result = UpdateFAQsService.segments(string, length, delimiter);
+        expect(result).toEqual(['& The Odin Project.', '& Your Career in Web Development starts here']);
+      })
+    })
+
+    describe('when delimiters shouldn\'t be prepended', () => {
+      it('returns the string without the delimiter', () => {
+        const string = '### The Odin Project.### Your Career in Web Development starts here';
+        const delimiter = '###'
+        const length = 25;
+        const result = UpdateFAQsService.segments(string, length, delimiter, true);
+        expect(result).toEqual([' The Odin Project.', ' Your Career in Web Development starts here']);
+      })
+    })
+
+    describe('when the delimiter isn\'t present', () => {
+      it('returns the full string with the delimiter prepended', () => {
+        const string = 'The Odin Project. Your Career in Web Development starts here';
+        const delimiter = '###'
+        const length = 75;
+        const result = UpdateFAQsService.segments(string, length, delimiter);
+        expect(result).toEqual(['###The Odin Project. Your Career in Web Development starts here']);
+      })
+    })
+
+    describe('when the delimiter isn\'t present and the delimiter shouldn\t be prepended', () => {
+      it('returns the full string', () => {
+        const string = 'The Odin Project. Your Career in Web Development starts here';
+        const delimiter = '###'
+        const length = 75;
+        const result = UpdateFAQsService.segments(string, length, delimiter, true);
+        expect(result).toEqual(['The Odin Project. Your Career in Web Development starts here']);
+      })
+    })
   });
 });