diff --git a/README.md b/README.md index 6d58ca6..7795f53 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,14 @@ ## Next up - Adjust card size -- Custom url shortener for links in the newsletter? +- Tweak email templates - Cron every 10 minutes: people are more likely to open the newsletter if delivered around the time when they subscribed (if cron becomes not enough, then the cost of sending all the emails might be a bigger issue) +## Some resources used + +https://gradientbuttons.colorion.co/ +https://codepen.io/alphardex/pen/vYEYGzp + ## Commands Install vercel cli diff --git a/app/layout.tsx b/app/layout.tsx index f6261e7..0bb9177 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,7 +1,7 @@ import { Analytics } from '@vercel/analytics/react'; import type { Metadata } from 'next'; import { Inter as FontSans } from 'next/font/google'; -import { Background } from '../components/custom/background/background'; +import { Tiles } from '../components/custom/tiles/tiles'; import { cn } from '../utils/ui'; import './globals.css'; @@ -30,9 +30,9 @@ export default function RootLayout({ fontSans.variable )} > - +
{children}
-
+ diff --git a/app/privacy/page.tsx b/app/privacy/page.tsx index 5139c8a..8e21442 100644 --- a/app/privacy/page.tsx +++ b/app/privacy/page.tsx @@ -1,4 +1,5 @@ 'use client'; +import Link from 'next/link'; import { Card } from '../../components/custom/card'; export default function Privacy() { @@ -15,12 +16,12 @@ export default function Privacy() { the Service, You agree to the collection and use of information in accordance with this Privacy Policy. This Privacy Policy has been created with the help of the{' '} - Privacy Policy Generator - + .


@@ -420,9 +421,13 @@ export default function Privacy() { diff --git a/components/custom/background/background.tsx b/components/custom/background/background.tsx deleted file mode 100644 index b8b232f..0000000 --- a/components/custom/background/background.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { Tiles } from './tile/tiles'; - -type BackgroundProps = { - children: React.ReactNode; -}; - -export function Background({ children }: BackgroundProps) { - return {children}; -} diff --git a/components/custom/link.tsx b/components/custom/customLink.tsx similarity index 54% rename from components/custom/link.tsx rename to components/custom/customLink.tsx index d39bf49..7238c0e 100644 --- a/components/custom/link.tsx +++ b/components/custom/customLink.tsx @@ -1,3 +1,4 @@ +import Link from 'next/link'; import { Button } from '../ui/button'; type LinkProps = { @@ -5,10 +6,10 @@ type LinkProps = { text: string; }; -export function Link({ path, text }: LinkProps) { +export function CustomLink({ path, text }: LinkProps) { return ( ); } diff --git a/components/custom/footer.tsx b/components/custom/footer.tsx index 65fff94..ebc9699 100644 --- a/components/custom/footer.tsx +++ b/components/custom/footer.tsx @@ -1,5 +1,6 @@ +import Link from 'next/link'; import { usePathname } from 'next/navigation'; -import { Link } from './link'; +import { CustomLink } from './customLink'; const links = [{ name: 'Subscribe', path: '/' }]; @@ -11,12 +12,12 @@ function Footer() { {pathname === '/' ? (

By subscribing, you agree to our{' '} - Privacy Policy - + .

) : ( @@ -25,11 +26,11 @@ function Footer() { link => pathname !== link.path && !(pathname === '/confirmation' && link.path === '/') && ( - + ) )} {pathname === '/privacy' && ( - + )} )} diff --git a/components/custom/background/tile/tile.tsx b/components/custom/tiles/components/tile.tsx similarity index 100% rename from components/custom/background/tile/tile.tsx rename to components/custom/tiles/components/tile.tsx diff --git a/components/custom/background/tile/tileContent.tsx b/components/custom/tiles/components/tileContent.tsx similarity index 100% rename from components/custom/background/tile/tileContent.tsx rename to components/custom/tiles/components/tileContent.tsx diff --git a/components/custom/background/tile/tiles.tsx b/components/custom/tiles/tiles.tsx similarity index 95% rename from components/custom/background/tile/tiles.tsx rename to components/custom/tiles/tiles.tsx index 995c8cb..db3d34c 100644 --- a/components/custom/background/tile/tiles.tsx +++ b/components/custom/tiles/tiles.tsx @@ -3,8 +3,8 @@ import { usePathname } from 'next/navigation'; import { useEffect, useState } from 'react'; import { z } from 'zod'; -import { NewsTile, NewsTileSchema } from '../../../../utils/schemas'; -import { Tile } from './tile'; +import { NewsTile, NewsTileSchema } from '../../../utils/schemas'; +import { Tile } from './components/tile'; type TilesProps = { children: React.ReactNode; diff --git a/components/emails/confirmation.tsx b/components/emails/confirmation.tsx index 27f5132..681a510 100644 --- a/components/emails/confirmation.tsx +++ b/components/emails/confirmation.tsx @@ -1,4 +1,4 @@ -import { Link } from '../custom/link'; +import { CustomLink } from '../custom/customLink'; import { Note } from './components/note'; import Template from './template'; @@ -22,7 +22,7 @@ export default function ConfirmationTemplate(code: string) { justifyContent: 'center' }} > - diff --git a/components/emails/helpers/newsletterSayings.ts b/components/emails/helpers/newsletterSayings.ts deleted file mode 100644 index b7ba045..0000000 --- a/components/emails/helpers/newsletterSayings.ts +++ /dev/null @@ -1,13 +0,0 @@ -export const sayings = [ - 'hot off the press', - 'straight from the oven', - "straight from the horse's mouth", - 'brand spanking new', - 'fresh as a daisy', - 'straight out of the box', - 'straight off the assembly line', - 'hot out of the kitchen', - 'just minted', - 'freshly brewed', - 'just off the production line' - ]; \ No newline at end of file diff --git a/components/emails/helpers/sayings.ts b/components/emails/helpers/sayings.ts new file mode 100644 index 0000000..248decd --- /dev/null +++ b/components/emails/helpers/sayings.ts @@ -0,0 +1,13 @@ +export const sayings = [ + 'hot off the press', + 'straight from the oven', + "straight from the horse's mouth", + 'brand spanking new', + 'fresh as a daisy', + 'straight out of the box', + 'straight off the assembly line', + 'hot out of the kitchen', + 'just minted', + 'freshly brewed', + 'just off the production line' +]; diff --git a/components/emails/newsletter.tsx b/components/emails/newsletter.tsx index dfb2fac..d2ef464 100644 --- a/components/emails/newsletter.tsx +++ b/components/emails/newsletter.tsx @@ -1,12 +1,11 @@ import { z } from 'zod'; import { NewsSchema } from '../../utils/schemas'; -import { sayings } from './helpers/newsletterSayings'; +import { sayings } from './helpers/sayings'; import Template from './template'; export default function NewsletterTemplate( stories: z.infer[] ) { - return { subject: `What's new from the Hackernews forum?`, template: ( diff --git a/components/emails/unsubscribe.tsx b/components/emails/unsubscribe.tsx index b6399eb..d58e6d8 100644 --- a/components/emails/unsubscribe.tsx +++ b/components/emails/unsubscribe.tsx @@ -1,4 +1,4 @@ -import { Link } from '../custom/link'; +import { CustomLink } from '../custom/customLink'; import { Note } from './components/note'; import Template from './template'; @@ -22,7 +22,7 @@ export default function UnsubscribeTemplate() { justifyContent: 'center' }} > - + If you have any questions or concerns, please feel free to{' '} diff --git a/yarn.lock b/yarn.lock index 097f37a..90806bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -35,22 +35,22 @@ js-tokens "^4.0.0" "@babel/runtime@^7.13.10", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.7": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.8.tgz#8ee6fe1ac47add7122902f257b8ddf55c898f650" - integrity sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw== + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" + integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== dependencies: regenerator-runtime "^0.14.0" "@commitlint/cli@^18.4.3": - version "18.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-18.5.0.tgz#e485c29d51b66890cd93a4c7f3f1e5ed15101db2" - integrity sha512-g/N0mJBrHcTdiccUpJknS6/ru45eIEAZyhEy9sL2ILjzK2IVNrpzlAPtxEr8bZCZLGwPBUrQ5UCIIu4uebhImw== + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-18.6.0.tgz#f065e0514f3870b6dc9a3c608a78820806b46527" + integrity sha512-FiH23cr9QG8VdfbmvJJZmdfHGVMCouOOAzoXZ3Cd7czGC52RbycwNt8YCI7SA69pAl+t30vh8LMaO/N+kcel6w== dependencies: - "@commitlint/format" "^18.4.4" - "@commitlint/lint" "^18.5.0" - "@commitlint/load" "^18.5.0" - "@commitlint/read" "^18.4.4" - "@commitlint/types" "^18.4.4" + "@commitlint/format" "^18.6.0" + "@commitlint/lint" "^18.6.0" + "@commitlint/load" "^18.6.0" + "@commitlint/read" "^18.6.0" + "@commitlint/types" "^18.6.0" execa "^5.0.0" lodash.isfunction "^3.0.9" resolve-from "5.0.0" @@ -58,26 +58,26 @@ yargs "^17.0.0" "@commitlint/config-conventional@^18.4.3": - version "18.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-18.5.0.tgz#b50b317dfef81f34ff46ef581a5a4a11dafcae59" - integrity sha512-XGmU4u3Z7bCn0H0nTEG9LUn6hMDUIPP4P6dun7PKFhtnt/wwiKAqmPj+QRmFiqWjkOWcmrh7w7xRiDL32cWS5g== + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-18.6.0.tgz#88da3e34e2bfcd8a5d46bcc472553e7f63f35323" + integrity sha512-CDCOf2eJz9D/TL44IBks0stM9TmdLCNE2B48owIU3YCadwzts/bobXPScagIgPQF6hhKYMEdj5zpUDlmbwuqwQ== dependencies: conventional-changelog-conventionalcommits "^7.0.2" -"@commitlint/config-validator@^18.5.0": - version "18.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-18.5.0.tgz#3ddd3f94001ebbc5a61c7190fa7a51fab289690f" - integrity sha512-mDAA6WQPjh9Ida8ACdInDylBQcqeUD2gBHE+dQu+B3OIHiWiSSrq4F2+wg3nDU9EzfcQSwPwYL+QbMmiW5SmLA== +"@commitlint/config-validator@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-18.6.0.tgz#ea1e04e92829dd7b90cea444f245b0bdefa0a586" + integrity sha512-Ptfa865arNozlkjxrYG3qt6wT9AlhNUHeuDyKEZiTL/l0ftncFhK/KN0t/EAMV2tec+0Mwxo0FmhbESj/bI+1g== dependencies: - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" ajv "^8.11.0" -"@commitlint/ensure@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-18.4.4.tgz#5e142e489e32f6a22865cea05ca369a95a4b77a1" - integrity sha512-KjD19p6julB5WrQL+Cd8p+AePwpl1XzGAjB0jnuFMKWtji9L7ucCZUKDstGjlkBZGGzH/nvdB8K+bh5K27EVUg== +"@commitlint/ensure@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-18.6.0.tgz#3f3dc09d99016eaab0da9423123effd820d11931" + integrity sha512-xY07NmOBJ7JuhX3tic021PaeLepZARIQyqpAQoNQZoml1keBFfB6MbA7XlWZv0ebbarUFE4yhKxOPw+WFv7/qw== dependencies: - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" lodash.camelcase "^4.3.0" lodash.kebabcase "^4.1.1" lodash.snakecase "^4.1.1" @@ -89,41 +89,41 @@ resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-18.4.4.tgz#ade986742c1944c8162a54288747e54a8c6146b5" integrity sha512-a37Nd3bDQydtg9PCLLWM9ZC+GO7X5i4zJvrggJv5jBhaHsXeQ9ZWdO6ODYR+f0LxBXXNYK3geYXJrCWUCP8JEg== -"@commitlint/format@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-18.4.4.tgz#51996ba0a7eac14f7f8991cff8700e4a2fd86ba7" - integrity sha512-2v3V5hVlv0R3pe7p66IX5F7cjeVvGM5JqITRIbBCFvGHPJ/CG74rjTkAu0RBEiIhlk3eOaLjVGq3d5falPkLBA== +"@commitlint/format@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-18.6.0.tgz#e13ef8419cd8eb37be5825a2e84e73cabbfb56ad" + integrity sha512-8UNWfs2slPPSQiiVpLGJTnPHv7Jkd5KYxfbNXbmLL583bjom4RrylvyrCVnmZReA8nNad7pPXq6mDH4FNVj6xg== dependencies: - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" chalk "^4.1.0" -"@commitlint/is-ignored@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-18.4.4.tgz#3fbf2a55a960ccf037e79ad4610091a693800680" - integrity sha512-rXWes9owKBTjfTr6Od7YlflRg4N+ngkOH+dUZhk0qL/XQb26mHz0EgVgdixMVBac1OsohRwJaLmVHX+5F6vfmg== +"@commitlint/is-ignored@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-18.6.0.tgz#d15ab04f547f7554cc3377d50f8e19178502b8af" + integrity sha512-Xjx/ZyyJ4FdLuz0FcOvqiqSFgiO2yYj3QN9XlvyrxqbXTxPVC7QFEXJYBVPulUSN/gR7WXH1Udw+HYYfD17xog== dependencies: - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" semver "7.5.4" -"@commitlint/lint@^18.5.0": - version "18.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-18.5.0.tgz#83c7434e969d04aaa84c5129c17b3dcde33d4650" - integrity sha512-4VbfTGTZf/aDaOn+vednMQFu5EIKfERvv7j8La3etQCra0O2QMrZL28xugTroYekawpTkiWWvLswtpVfabIbgw== +"@commitlint/lint@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-18.6.0.tgz#f54c856840a6238e0c2972588c2dc986317f1b7b" + integrity sha512-ycbuDWfyykPmslgiHzhz8dL6F0BJYltXLVfc+M49z0c+FNITM0v+r0Vd2+Tdtq06VTc894p2+YSmZhulY8Jn3Q== dependencies: - "@commitlint/is-ignored" "^18.4.4" - "@commitlint/parse" "^18.4.4" - "@commitlint/rules" "^18.4.4" - "@commitlint/types" "^18.4.4" + "@commitlint/is-ignored" "^18.6.0" + "@commitlint/parse" "^18.6.0" + "@commitlint/rules" "^18.6.0" + "@commitlint/types" "^18.6.0" -"@commitlint/load@^18.5.0": - version "18.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-18.5.0.tgz#b14eef9306c2500594d8a7f1e4a8d68cb2562439" - integrity sha512-vpyGgk7rzbFsU01NVwPNC/WetHFP0EwSYnQ1R833SJFHkEo+cWvqoVlw/VoZwBMoI6sF5/lwEdKzFDr1DHJ6+A== +"@commitlint/load@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-18.6.0.tgz#98108294b9383aa2905781b192215df4718babb7" + integrity sha512-RRssj7TmzT0bowoEKlgwg8uQ7ORXWkw7lYLsZZBMi9aInsJuGNLNWcMxJxRZbwxG3jkCidGUg85WmqJvRjsaDA== dependencies: - "@commitlint/config-validator" "^18.5.0" + "@commitlint/config-validator" "^18.6.0" "@commitlint/execute-rule" "^18.4.4" - "@commitlint/resolve-extends" "^18.5.0" - "@commitlint/types" "^18.4.4" + "@commitlint/resolve-extends" "^18.6.0" + "@commitlint/types" "^18.6.0" chalk "^4.1.0" cosmiconfig "^8.3.6" cosmiconfig-typescript-loader "^5.0.0" @@ -137,46 +137,46 @@ resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-18.4.4.tgz#811682a0d147a24e5c467acdb52071434df2b9f5" integrity sha512-lHF95mMDYgAI1LBXveJUyg4eLaMXyOqJccCK3v55ZOEUsMPrDi8upqDjd/NmzWmESYihaOMBTAnxm+6oD1WoDQ== -"@commitlint/parse@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-18.4.4.tgz#5c8f515d4dbebe9b7ccfcd1701e58446e2bec6da" - integrity sha512-99G7dyn/OoyNWXJni0Ki0K3aJd01pEb/Im/Id6y4X7PN+kGOahjz2z/cXYYHn7xDdooqFVdiVrVLeChfgpWZ2g== +"@commitlint/parse@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-18.6.0.tgz#ae19ff8ceb0c8ffab131158829b06b505b9921fd" + integrity sha512-Y/G++GJpATFw54O0jikc/h2ibyGHgghtPnwsOk3O/aU092ydJ5XEHYcd7xGNQYuLweLzQis2uEwRNk9AVIPbQQ== dependencies: - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" conventional-changelog-angular "^7.0.0" conventional-commits-parser "^5.0.0" -"@commitlint/read@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-18.4.4.tgz#7f6848edd3210bf82e6aaa0cd30e72e7e669e009" - integrity sha512-r58JbWky4gAFPea/CZmvlqP9Ehbs+8gSEUqhIJOojKzTc3xlxFnZUDVPcEnnaqzQEEoV6C69VW7xuzdcBlu/FQ== +"@commitlint/read@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-18.6.0.tgz#324ea1fa625f88427780df23fffe4a92d383d665" + integrity sha512-w39ji8VfWhPKRquPhRHB3Yd8XIHwaNHgOh28YI1QEmZ59qVpuVUQo6h/NsVb+uoC6LbXZiofTZv2iFR084jKEA== dependencies: "@commitlint/top-level" "^18.4.4" - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" git-raw-commits "^2.0.11" minimist "^1.2.6" -"@commitlint/resolve-extends@^18.5.0": - version "18.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-18.5.0.tgz#ea955fc9455f70a5389cdc9633c78132c8008ed2" - integrity sha512-OxCYOMnlkOEEIkwTaRiFjHyuWBq962WBZQVHfMHej8tr3d+SfjznvqZhPmW8/SuqtfmGEiJPGWUNOxgwH+O0MA== +"@commitlint/resolve-extends@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-18.6.0.tgz#db55be2b32e12593bc98dc44c6d9a9d90941bab4" + integrity sha512-k2Xp+Fxeggki2i90vGrbiLDMefPius3zGSTFFlRAPKce/SWLbZtI+uqE9Mne23mHO5lmcSV8z5m6ziiJwGpOcg== dependencies: - "@commitlint/config-validator" "^18.5.0" - "@commitlint/types" "^18.4.4" + "@commitlint/config-validator" "^18.6.0" + "@commitlint/types" "^18.6.0" import-fresh "^3.0.0" lodash.mergewith "^4.6.2" resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-18.4.4.tgz#859e920a4f0053ae27e4cdd65f68e7576a5ab53f" - integrity sha512-6Uzlsnl/GljEI+80NWjf4ThOfR8NIsbm18IfXYuCEchlwMHSxiuYG4rHSK5DNmG/+MIo8eR5VdQ0gQyt7kWzAA== +"@commitlint/rules@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-18.6.0.tgz#6d933e2de5639b75b4946120b3880e72e66a6051" + integrity sha512-pTalvCEvuCWrBWZA/YqO/3B3nZnY3Ncc+TmQsRajBdC1tkQIm5Iovdo4Ec7f2Dw1tVvpYMUUNAgcWqsY0WckWg== dependencies: - "@commitlint/ensure" "^18.4.4" + "@commitlint/ensure" "^18.6.0" "@commitlint/message" "^18.4.4" "@commitlint/to-lines" "^18.4.4" - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" execa "^5.0.0" "@commitlint/to-lines@^18.4.4": @@ -191,10 +191,10 @@ dependencies: find-up "^5.0.0" -"@commitlint/types@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-18.4.4.tgz#dae9e0ce6a6728a36b8982ff301af0170bbe0d38" - integrity sha512-/FykLtodD8gKs3+VNkAUwofu4LBHankclj+I8fB2jTRvG6PV7k/OUt4P+VbM7ip853qS4F0g7Z6hLNa6JeMcAQ== +"@commitlint/types@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-18.6.0.tgz#3d3493cb5910f60f3749a8eb56aca47dc2e1b662" + integrity sha512-oavoKLML/eJa2rJeyYSbyGAYzTxQ6voG5oeX3OrxpfrkRWhJfm4ACnhoRf5tgiybx2MZ+EVFqC1Lw3W8/uwpZA== dependencies: chalk "^4.1.0" @@ -474,9 +474,9 @@ react-dom "18.2.0" "@rushstack/eslint-patch@^1.3.3": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.7.0.tgz#b5bc1e081428794f6a4d239707b359404be35ce2" - integrity sha512-Jh4t/593gxs0lJZ/z3NnasKlplXT2f+4y/LZYuaKZW5KAaiVFL/fThhs+17EbUd53jUVJ0QudYCBGbN/psvaqg== + version "1.7.1" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.7.1.tgz#29e6926204b982721ff721240807527309825a1f" + integrity sha512-irBNt5094vHloql4QzY8RdeI8Tns2kGsaiJ/m6jENWx9xCz/m/F4gKQ1dAailFmpL0Id9tgWLqZbTUO4SINM/Q== "@selderee/plugin-htmlparser2@^0.11.0": version "0.11.0" @@ -509,9 +509,9 @@ integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== "@types/node@^20": - version "20.11.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.5.tgz#be10c622ca7fcaa3cf226cf80166abc31389d86e" - integrity sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w== + version "20.11.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.6.tgz#6adf4241460e28be53836529c033a41985f85b6e" + integrity sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q== dependencies: undici-types "~5.26.4" @@ -971,9 +971,9 @@ camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001565, caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001579: - version "1.0.30001579" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz#45c065216110f46d6274311a4b3fcf6278e0852a" - integrity sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA== + version "1.0.30001580" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001580.tgz#e3c76bc6fe020d9007647044278954ff8cd17d1e" + integrity sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA== chalk@5.3.0: version "5.3.0" @@ -1342,9 +1342,9 @@ editorconfig@^1.0.3: semver "^7.5.3" electron-to-chromium@^1.4.601: - version "1.4.641" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.641.tgz#7439993ee3df558bbb78d5459c15cfbde5bf6d60" - integrity sha512-JetAF3M5Lr9hwzDe3oMmWFOydlclqt2loEljxc0AAP5NYM170sSW+F5/cn5ROBfjx5LdmzeeAgWnyAU9cjPhmA== + version "1.4.645" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.645.tgz#117f964252eb2f0ff00fc7360cb3080e2cf66e3c" + integrity sha512-EeS1oQDCmnYsRDRy2zTeC336a/4LZ6WKqvSaM1jLocEk5ZuyszkQtCpsqvuvaIXGOUjwtvF6LTcS8WueibXvSw== emoji-regex@^10.3.0: version "10.3.0" @@ -3597,9 +3597,9 @@ spdx-correct@^3.0.0: spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + version "2.4.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz#c07a4ede25b16e4f78e6707bbd84b15a45c19c1b" + integrity sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw== spdx-expression-parse@^3.0.0: version "3.0.1"