diff --git a/dotcom-rendering/package.json b/dotcom-rendering/package.json index 66d99e5d244..2270c93e74d 100644 --- a/dotcom-rendering/package.json +++ b/dotcom-rendering/package.json @@ -93,7 +93,7 @@ "@types/webpack-env": "1.18.8", "@types/webpack-node-externals": "3.0.4", "@types/youtube": "0.0.50", - "@typescript-eslint/eslint-plugin": "8.57.1", + "@typescript-eslint/eslint-plugin": "8.70.0", "ajv": "8.18.0", "ajv-formats": "2.1.1", "aws-cdk": "catalog:", @@ -110,15 +110,15 @@ "dynamic-import-polyfill": "0.1.1", "eslint": "catalog:", "eslint-config-prettier": "10.1.8", - "eslint-import-resolver-typescript": "4.4.4", + "eslint-import-resolver-typescript": "4.4.5", "eslint-plugin-custom-elements": "0.0.8", - "eslint-plugin-import-x": "4.16.2", + "eslint-plugin-import-x": "4.17.1", "eslint-plugin-jsx-a11y": "6.10.2", - "eslint-plugin-prettier": "5.5.5", + "eslint-plugin-prettier": "5.5.6", "eslint-plugin-react": "7.37.5", - "eslint-plugin-react-hooks": "7.0.1", + "eslint-plugin-react-hooks": "7.1.1", "eslint-plugin-ssr-friendly": "1.3.0", - "eslint-plugin-unicorn": "64.0.0", + "eslint-plugin-unicorn": "65.0.0", "eslint-stats": "1.0.1", "express": "5.2.1", "find": "0.3.0", @@ -160,7 +160,7 @@ "tsx": "4.23.13", "type-fest": "catalog:", "typescript": "catalog:", - "typescript-eslint": "8.57.1", + "typescript-eslint": "8.70.0", "typescript-json-schema": "0.64.0", "unified": "11.0.5", "url": "0.11.4", diff --git a/dotcom-rendering/scripts/jest/setup.ts b/dotcom-rendering/scripts/jest/setup.ts index ecac42260c7..b7bf39914d0 100644 --- a/dotcom-rendering/scripts/jest/setup.ts +++ b/dotcom-rendering/scripts/jest/setup.ts @@ -107,7 +107,7 @@ if (!isServer) { * DOM and NodeJS versions of `TextDecoder`. This affect the running of the application and * allows us to update jsdom. */ -global.TextEncoder = TextEncoder as unknown as typeof global.TextEncoder; +global.TextEncoder = TextEncoder; global.TextDecoder = TextDecoder as unknown as typeof global.TextDecoder; global.ReadableStream = ReadableStream as unknown as typeof global.ReadableStream; diff --git a/dotcom-rendering/src/components/MultiBylines.stories.tsx b/dotcom-rendering/src/components/MultiBylines.stories.tsx index bb7b58a551d..d88968466fe 100644 --- a/dotcom-rendering/src/components/MultiBylines.stories.tsx +++ b/dotcom-rendering/src/components/MultiBylines.stories.tsx @@ -11,7 +11,6 @@ import { getAllThemes, Pillar, } from '../lib/articleFormat'; -import type { EditionId } from '../lib/edition'; import { RenderArticleElement } from '../lib/renderElement'; import type { TextBlockElement } from '../types/content'; import { MultiBylines } from './MultiBylines'; @@ -76,7 +75,7 @@ export const ThemeVariations = meta.story({ * but there are no rich links in this example. */ ajaxUrl: '', - editionId: 'UK' as EditionId, + editionId: 'UK', isAdFreeUser: false, isSensitive: false, pageId: 'testID', diff --git a/dotcom-rendering/src/components/NewsletterSignupForm.island.test.tsx b/dotcom-rendering/src/components/NewsletterSignupForm.island.test.tsx index 5ba3d0960d7..3716ddb2f87 100644 --- a/dotcom-rendering/src/components/NewsletterSignupForm.island.test.tsx +++ b/dotcom-rendering/src/components/NewsletterSignupForm.island.test.tsx @@ -183,7 +183,7 @@ describe('NewsletterSignupForm', () => { if (window.guardian.ophan) { window.guardian.ophan.pageViewId = 'test-page-view-id'; } - global.fetch = jest.fn().mockResolvedValue({ ok: true } as Response); + global.fetch = jest.fn().mockResolvedValue({ ok: true }); }); it('submits for a signed-out user and includes marketing/browser fields', async () => { @@ -406,9 +406,7 @@ describe('NewsletterSignupForm', () => { it('shows failure UI with retry', async () => { const testUser = user.setup(); - global.fetch = jest - .fn() - .mockResolvedValue({ ok: false, status: 500 } as Response); + global.fetch = jest.fn().mockResolvedValue({ ok: false, status: 500 }); renderForm(); diff --git a/dotcom-rendering/src/components/SecureSignup.island.test.tsx b/dotcom-rendering/src/components/SecureSignup.island.test.tsx index 60452076105..9708723fce3 100644 --- a/dotcom-rendering/src/components/SecureSignup.island.test.tsx +++ b/dotcom-rendering/src/components/SecureSignup.island.test.tsx @@ -162,7 +162,7 @@ describe('SecureSignup — US marketing toggle hiding', () => { if (window.guardian.ophan) { window.guardian.ophan.pageViewId = 'test-page-view-id'; } - global.fetch = jest.fn().mockResolvedValue({ ok: true } as Response); + global.fetch = jest.fn().mockResolvedValue({ ok: true }); }); // captchaSiteKey is set in a useEffect — wait for the reCAPTCHA widget @@ -320,7 +320,7 @@ describe('SecureSignup tracking component id', () => { (useCountryCode as jest.Mock).mockReturnValue('GB'); window.guardian.config.switches['usSignupHideMarketingToggle'] = false; - global.fetch = jest.fn().mockResolvedValue({ ok: true } as Response); + global.fetch = jest.fn().mockResolvedValue({ ok: true }); }); it('always uses the secureSignup component id regardless of abTest variant', async () => { diff --git a/dotcom-rendering/src/components/marketing/banners/designableBanner/stories/DesignableBanner.stories.tsx b/dotcom-rendering/src/components/marketing/banners/designableBanner/stories/DesignableBanner.stories.tsx index 1e13a0adcf7..9ef1fc9b330 100644 --- a/dotcom-rendering/src/components/marketing/banners/designableBanner/stories/DesignableBanner.stories.tsx +++ b/dotcom-rendering/src/components/marketing/banners/designableBanner/stories/DesignableBanner.stories.tsx @@ -158,7 +158,7 @@ export const Default: Story = { }, tracking: { ...tracking, - componentType: 'ACQUISITIONS_ENGAGEMENT_BANNER' as any, + componentType: 'ACQUISITIONS_ENGAGEMENT_BANNER', }, articleCounts: { forTargetedWeeks: 12, diff --git a/dotcom-rendering/src/components/marketing/banners/designableBanner/tests/Banner.test.tsx b/dotcom-rendering/src/components/marketing/banners/designableBanner/tests/Banner.test.tsx index 2e85034ad09..d27d58db321 100644 --- a/dotcom-rendering/src/components/marketing/banners/designableBanner/tests/Banner.test.tsx +++ b/dotcom-rendering/src/components/marketing/banners/designableBanner/tests/Banner.test.tsx @@ -1,4 +1,3 @@ -import type { OphanComponentType } from '@guardian/libs'; import type { ConfigurableDesign, HexColour, @@ -61,7 +60,7 @@ const mockProps: BannerRenderProps = { abTestName: 'test', abTestVariant: 'variant', campaignCode: 'campaign', - componentType: 'ACQUISITIONS_HEADER' as OphanComponentType, + componentType: 'ACQUISITIONS_HEADER', products: [], ophanPageId: 'page-id', platformId: 'platform-id', @@ -112,7 +111,7 @@ const mockProps: BannerRenderProps = { goalColour: hex('05', '29', '62'), }, }, - } as ConfigurableDesign, + }, bannerChannel: 'contributions', }; @@ -214,7 +213,7 @@ describe('DesignableBanner V2', () => { benefits: [], }, ], - } as BannerRenderProps['choiceCardsSettings'], + }, design: { ...mockProps.design!, visual: { diff --git a/dotcom-rendering/src/components/marketing/header/HeaderWrapper.tsx b/dotcom-rendering/src/components/marketing/header/HeaderWrapper.tsx index 4c1a0cef1dd..63c47a69626 100644 --- a/dotcom-rendering/src/components/marketing/header/HeaderWrapper.tsx +++ b/dotcom-rendering/src/components/marketing/header/HeaderWrapper.tsx @@ -92,12 +92,12 @@ export const headerWrapper = ( : secondaryCta; const renderedMobileContent = mobileContent - ? ({ + ? { heading: mobileContent.heading, subheading: mobileContent.subheading, primaryCta: mobilePrimaryCta, secondaryCta: mobileSecondaryCta, - } as HeaderRenderedContent) + } : undefined; const { abTestName, abTestVariant, componentType, campaignCode } = diff --git a/dotcom-rendering/src/lib/auxia.ts b/dotcom-rendering/src/lib/auxia.ts index 50d5f536c7f..f1dfd07a5df 100644 --- a/dotcom-rendering/src/lib/auxia.ts +++ b/dotcom-rendering/src/lib/auxia.ts @@ -248,7 +248,7 @@ export const buildAuxiaGateDisplayData = async ( return { browserId: readerPersonalData.browserId, auxiaData: response.data, - } as AuxiaGateDisplayData; + }; } return undefined; }; diff --git a/dotcom-rendering/src/lib/braze/initialiseBraze.ts b/dotcom-rendering/src/lib/braze/initialiseBraze.ts index ab56e38d366..a75a380307f 100644 --- a/dotcom-rendering/src/lib/braze/initialiseBraze.ts +++ b/dotcom-rendering/src/lib/braze/initialiseBraze.ts @@ -15,9 +15,9 @@ const SDK_OPTIONS: braze.InitializationOptions = { }; const initialiseBraze = async (apiKey: string): Promise => { - const importedBraze = (await import( + const importedBraze = await import( /* webpackChunkName: "braze-web-sdk-core" */ '@braze/web-sdk' - )) as unknown as typeof braze; + ); importedBraze.setLogger((message) => log('tx', message)); importedBraze.initialize(apiKey, SDK_OPTIONS); diff --git a/dotcom-rendering/src/lib/decide-cation.test.ts b/dotcom-rendering/src/lib/decide-cation.test.ts index ef4fc81d1be..7c769eefad2 100644 --- a/dotcom-rendering/src/lib/decide-cation.test.ts +++ b/dotcom-rendering/src/lib/decide-cation.test.ts @@ -1,8 +1,4 @@ -import type { - EmbedBlockElement, - ImageBlockElement, - TextBlockElement, -} from '../types/content'; +import type { EmbedBlockElement, ImageBlockElement } from '../types/content'; import { decideMainMediaCaption } from './decide-caption'; describe('decideMainMediaCaption', () => { @@ -16,7 +12,7 @@ describe('decideMainMediaCaption', () => { elementId: 'test-id', html: '

test

', _type: 'model.dotcomrendering.pageElements.TextBlockElement', - } as TextBlockElement), + }), ).toEqual(''); }); }); diff --git a/dotcom-rendering/src/model/enhanceCards.test.ts b/dotcom-rendering/src/model/enhanceCards.test.ts index 81134270851..96bcf8da3e2 100644 --- a/dotcom-rendering/src/model/enhanceCards.test.ts +++ b/dotcom-rendering/src/model/enhanceCards.test.ts @@ -624,7 +624,7 @@ describe('Enhance Cards', () => { meta: { headline: undefined, }, - } as VariantMeta, + }, ], } as EditorialTest, ], diff --git a/dotcom-rendering/src/model/validate.puzzlesPage.test.ts b/dotcom-rendering/src/model/validate.puzzlesPage.test.ts index b6a102c64a5..0b3790eac78 100644 --- a/dotcom-rendering/src/model/validate.puzzlesPage.test.ts +++ b/dotcom-rendering/src/model/validate.puzzlesPage.test.ts @@ -86,12 +86,12 @@ describe('validateAsPuzzlesPageType', () => { } : {}), }; - page.layout.containers.push(container as never); + page.layout.containers.push(container); expect(validateAsPuzzlesPageType(page)).toBeDefined(); page.layout.containers.push({ ...container, id: 'second-ad', - } as never); + }); expect(() => validateAsPuzzlesPageType(page)).toThrow( 'Unable to validate request body for puzzles page', ); @@ -252,7 +252,7 @@ describe('validateAsPuzzlesPageType', () => { adSlot: 'inline1', content: { items: [], nestedContainers: [] }, }; - page.layout.containers.push(ad as never); + page.layout.containers.push(ad); expect(validateAsPuzzlesPageType(page).layout.containers).toHaveLength( 2, ); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 26b3bfb5705..cbece5b7614 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -174,8 +174,8 @@ catalogs: specifier: 64.7.0 version: 64.7.0 '@guardian/eslint-config': - specifier: 14.0.1 - version: 14.0.1 + specifier: 16.0.0 + version: 16.0.0 '@guardian/tsconfig': specifier: 1.0.1 version: 1.0.1 @@ -207,8 +207,8 @@ catalogs: specifier: 0.28.1 version: 0.28.1 eslint: - specifier: 9.39.1 - version: 9.39.1 + specifier: 9.39.5 + version: 9.39.5 rollup: specifier: 4.59.0 version: 4.59.0 @@ -228,6 +228,12 @@ catalogs: specifier: 1.4.2 version: 1.4.2 +overrides: + typescript-eslint: 8.70.0 + '@typescript-eslint/eslint-plugin': 8.70.0 + '@typescript-eslint/parser': 8.70.0 + '@typescript-eslint/utils': 8.70.0 + importers: .: @@ -258,13 +264,13 @@ importers: devDependencies: '@guardian/eslint-config': specifier: 'catalog:' - version: 14.0.1(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + version: 16.0.0(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) '@guardian/tsconfig': specifier: 'catalog:' version: 1.0.1 eslint: specifier: 'catalog:' - version: 9.39.1(supports-color@8.1.1) + version: 9.39.5(supports-color@8.1.1) typescript: specifier: 'catalog:' version: 6.0.3 @@ -495,7 +501,7 @@ importers: version: 7.0.0(@guardian/libs@32.0.0(@guardian/ophan-tracker-js@5.1.3)(tslib@2.6.2)(typescript@6.0.3))(tslib@2.6.2)(typescript@6.0.3)(web-vitals@4.2.3) '@guardian/eslint-config': specifier: 'catalog:' - version: 14.0.1(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + version: 16.0.0(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) '@guardian/identity-auth': specifier: 6.0.1 version: 6.0.1(@guardian/libs@32.0.0(@guardian/ophan-tracker-js@5.1.3)(tslib@2.6.2)(typescript@6.0.3))(tslib@2.6.2)(typescript@6.0.3) @@ -668,8 +674,8 @@ importers: specifier: 0.0.50 version: 0.0.50 '@typescript-eslint/eslint-plugin': - specifier: 8.57.1 - version: 8.57.1(@typescript-eslint/parser@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + specifier: 8.70.0 + version: 8.70.0(@typescript-eslint/parser@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) ajv: specifier: 8.18.0 version: 8.18.0 @@ -714,37 +720,37 @@ importers: version: 0.1.1 eslint: specifier: 'catalog:' - version: 9.39.1(supports-color@8.1.1) + version: 9.39.5(supports-color@8.1.1) eslint-config-prettier: specifier: 10.1.8 - version: 10.1.8(eslint@9.39.1(supports-color@8.1.1)) + version: 10.1.8(eslint@9.39.5(supports-color@8.1.1)) eslint-import-resolver-typescript: - specifier: 4.4.4 - version: 4.4.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1) + specifier: 4.4.5 + version: 4.4.5(eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1) eslint-plugin-custom-elements: specifier: 0.0.8 - version: 0.0.8(eslint@9.39.1(supports-color@8.1.1)) + version: 0.0.8(eslint@9.39.5(supports-color@8.1.1)) eslint-plugin-import-x: - specifier: 4.16.2 - version: 4.16.2(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1) + specifier: 4.17.1 + version: 4.17.1(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1) eslint-plugin-jsx-a11y: specifier: 6.10.2 - version: 6.10.2(eslint@9.39.1(supports-color@8.1.1)) + version: 6.10.2(eslint@9.39.5(supports-color@8.1.1)) eslint-plugin-prettier: - specifier: 5.5.5 - version: 5.5.5(eslint-config-prettier@10.1.8(eslint@9.39.1(supports-color@8.1.1)))(eslint@9.39.1(supports-color@8.1.1))(prettier@3.8.3) + specifier: 5.5.6 + version: 5.5.6(eslint-config-prettier@10.1.8(eslint@9.39.5(supports-color@8.1.1)))(eslint@9.39.5(supports-color@8.1.1))(prettier@3.8.3) eslint-plugin-react: specifier: 7.37.5 - version: 7.37.5(eslint@9.39.1(supports-color@8.1.1)) + version: 7.37.5(eslint@9.39.5(supports-color@8.1.1)) eslint-plugin-react-hooks: - specifier: 7.0.1 - version: 7.0.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1) + specifier: 7.1.1 + version: 7.1.1(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1) eslint-plugin-ssr-friendly: specifier: 1.3.0 - version: 1.3.0(eslint@9.39.1(supports-color@8.1.1)) + version: 1.3.0(eslint@9.39.5(supports-color@8.1.1)) eslint-plugin-unicorn: - specifier: 64.0.0 - version: 64.0.0(eslint@9.39.1(supports-color@8.1.1)) + specifier: 65.0.0 + version: 65.0.0(eslint@9.39.5(supports-color@8.1.1)) eslint-stats: specifier: 1.0.1 version: 1.0.1 @@ -869,8 +875,8 @@ importers: specifier: 'catalog:' version: 6.0.3 typescript-eslint: - specifier: 8.57.1 - version: 8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + specifier: 8.70.0 + version: 8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) typescript-json-schema: specifier: 0.64.0 version: 0.64.0(@swc/core@1.16.1) @@ -2454,6 +2460,10 @@ packages: resolution: {integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@9.39.5': + resolution: {integrity: sha512-QywQuszQh77pIXCsq998c8hbhSTI/azTty1Z6N53dmAudKHhy573j3yvRLsX2BSp8YpLtoCEG8E9DJe+8zUh4A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/object-schema@2.1.7': resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2533,11 +2543,11 @@ packages: typescript: optional: true - '@guardian/eslint-config@14.0.1': - resolution: {integrity: sha512-obYXmA5pYwHHr+5FpPZZ3+lMiBxZd5ang2touY7osC/ObC3NslO/Sk4VXpwVkbpFOJzG3Ili4+n5mX9WSxe/iw==} + '@guardian/eslint-config@16.0.0': + resolution: {integrity: sha512-LTd0evYj9HSj24Z8HBm5Tc4GOlbeY5cRhiyXCSCz5XpdBHjgZSYIXDChqge4hd89iFCWU9ztU1QowD6tqEzM4A==} peerDependencies: eslint: ^9.39.1 - eslint-plugin-storybook: ^10.2.13 + eslint-plugin-storybook: ^10.4.0 peerDependenciesMeta: eslint-plugin-storybook: optional: true @@ -4756,67 +4766,63 @@ packages: '@types/youtube@0.0.50': resolution: {integrity: sha512-d4GpH4uPYp9W07kc487tiq6V/EUHl18vZWFMbQoe4Sk9LXEWzFi/BMf9x7TI4m7/j7gU3KeX8H6M8aPBgykeLw==} - '@typescript-eslint/eslint-plugin@8.57.1': - resolution: {integrity: sha512-Gn3aqnvNl4NGc6x3/Bqk1AOn0thyTU9bqDRhiRnUWezgvr2OnhYCWCgC8zXXRVqBsIL1pSDt7T9nJUe0oM0kDQ==} + '@typescript-eslint/eslint-plugin@8.70.0': + resolution: {integrity: sha512-/v8HZt6RlyIZxB3ntehELOcUcfxKPVGWXnQdJuHRmzrqgF8nQypcC/oxGW+Ot4VGKDq81XugPKxx0n5PBtf9PA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.57.1 + '@typescript-eslint/parser': 8.70.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.57.1': - resolution: {integrity: sha512-k4eNDan0EIMTT/dUKc/g+rsJ6wcHYhNPdY19VoX/EOtaAG8DLtKCykhrUnuHPYvinn5jhAPgD2Qw9hXBwrahsw==} + '@typescript-eslint/parser@8.70.0': + resolution: {integrity: sha512-zYvrmj9Yxd63UGaXw+kdt6A0F0s0qveJyuatIM77bYC2DE4pgmg7a50u8LR7PRtXd0x+h+Tl3eXabGm06SWd3Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.57.1': - resolution: {integrity: sha512-vx1F37BRO1OftsYlmG9xay1TqnjNVlqALymwWVuYTdo18XuKxtBpCj1QlzNIEHlvlB27osvXFWptYiEWsVdYsg==} + '@typescript-eslint/project-service@8.70.0': + resolution: {integrity: sha512-hFHbTNqhU9G+2eKFXCBVb1tjFT/LceiJ4+HfLO4pTpDI0KHi6iajpcFFkaSQ9gXmCh7n82A0PthaayEdN6mspQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.57.1': - resolution: {integrity: sha512-hs/QcpCwlwT2L5S+3fT6gp0PabyGk4Q0Rv2doJXA0435/OpnSR3VRgvrp8Xdoc3UAYSg9cyUjTeFXZEPg/3OKg==} + '@typescript-eslint/scope-manager@8.70.0': + resolution: {integrity: sha512-8nP3Kwh5hlgZ4FicGvmznAmJe8UL4sdU8tLukrPaMuQmDuk4Y8xYfzu/aYZW4xT2JCgc7H/TpDI5cGlxcWJSqQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.57.1': - resolution: {integrity: sha512-0lgOZB8cl19fHO4eI46YUx2EceQqhgkPSuCGLlGi79L2jwYY1cxeYc1Nae8Aw1xjgW3PKVDLlr3YJ6Bxx8HkWg==} + '@typescript-eslint/tsconfig-utils@8.70.0': + resolution: {integrity: sha512-adnkeeNq9Sq1sUf4+FRVc0KdgYghzsgFpZSQVZVvY0LCuUuN0FnQgyGzCJeC4fW1cdXseBAjU2EOqUIjbNcZUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.57.1': - resolution: {integrity: sha512-+Bwwm0ScukFdyoJsh2u6pp4S9ktegF98pYUU0hkphOOqdMB+1sNQhIz8y5E9+4pOioZijrkfNO/HUJVAFFfPKA==} + '@typescript-eslint/type-utils@8.70.0': + resolution: {integrity: sha512-NUMKIhYVaVIVLnRL9CRt+VVcuLgSHUCpXn4/+K8wql+vdInUzvx8BjUO1oJ7cG9shjFJKtF8F8Hh2kCh3/KBVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/types@8.57.1': - resolution: {integrity: sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + typescript: '>=4.8.4 <6.1.0' '@typescript-eslint/types@8.70.0': resolution: {integrity: sha512-asTOIYhDg4zdzOScCyaytrsV3cR6B4ecPQlXw/dJIm7J/MZTtCtfVII9JD8Geh4jTCrK/Xe6cg5UevoleMcoJQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.57.1': - resolution: {integrity: sha512-ybe2hS9G6pXpqGtPli9Gx9quNV0TWLOmh58ADlmZe9DguLq0tiAKVjirSbtM1szG6+QH6rVXyU6GTLQbWnMY+g==} + '@typescript-eslint/typescript-estree@8.70.0': + resolution: {integrity: sha512-d9NmHMPEKQ7QCLLm1jI3zmoQBwT5KwFYjXBJ9ymZfKCUU+5rmTRykKAFvH5Qn/ZCds3CEAFS9OC9M/jkl0X2bA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.57.1': - resolution: {integrity: sha512-XUNSJ/lEVFttPMMoDVA2r2bwrl8/oPx8cURtczkSEswY5T3AeLmCy+EKWQNdL4u0MmAHOjcWrqJp2cdvgjn8dQ==} + '@typescript-eslint/utils@8.70.0': + resolution: {integrity: sha512-oZmtKJz/4fufZ2p3+Cn3ijEojcdfR+1zYDH2xKYrEly0dR/Q/1xUPRCOlKGxod78nWlU2UnDe09GZ3TaknBFGA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.57.1': - resolution: {integrity: sha512-YWnmJkXbofiz9KbnbbwuA2rpGkFPLbAIetcCNO6mJ8gdhdZ/v7WDXsoGFAJuM6ikUFKTlSQnjWnVO4ux+UzS6A==} + '@typescript-eslint/visitor-keys@8.70.0': + resolution: {integrity: sha512-BoC8PiO4Hkdo0TVJh9Ntxr5MxPDI7/oFsrygN5ADelFSeXG/qgNuucIGA+L5Z6JpPTE/uRfcTWtscjbUaufepQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.4.0': @@ -5554,10 +5560,6 @@ packages: resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} engines: {node: '>= 10.0'} - clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} - clean-stack@4.2.0: resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} engines: {node: '>=12'} @@ -5955,6 +5957,10 @@ packages: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + detect-indent@7.0.2: + resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} + engines: {node: '>=12.20'} + detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} @@ -6236,17 +6242,30 @@ packages: eslint-plugin-import-x: optional: true + eslint-import-resolver-typescript@4.4.5: + resolution: {integrity: sha512-nbE5XLph6TLtGYcu/U6e6ZVXyKBhbDWK5cLGk76eJ7NdZpwf1P9EFkpt1Z01mNZNrrilsAYWKH6zUkL4reoXbw==} + engines: {node: ^16.17.0 || >=18.6.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + eslint-plugin-custom-elements@0.0.8: resolution: {integrity: sha512-726XMAabRLKKm6/yjvYfvY4MKBwX9C4x8yPjj/ap470KhSIBHm+xHbm3P7cKlsFz/4cxq6YrBeSwKmwlacF1jg==} peerDependencies: eslint: '>=4.19.0' - eslint-plugin-import-x@4.16.1: - resolution: {integrity: sha512-vPZZsiOKaBAIATpFE2uMI4w5IRwdv/FpQ+qZZMR4E+PeOcM4OeoEbqxRMnywdxP19TyB/3h6QBB0EWon7letSQ==} + eslint-plugin-import-x@4.16.2: + resolution: {integrity: sha512-rM9K8UBHcWKpzQzStn1YRN2T5NvdeIfSVoKu/lKF41znQXHAUcBbYXe5wd6GNjZjTrP7viQ49n1D83x/2gYgIw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/utils': ^8.0.0 - eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/utils': 8.70.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 eslint-import-resolver-node: '*' peerDependenciesMeta: '@typescript-eslint/utils': @@ -6254,11 +6273,11 @@ packages: eslint-import-resolver-node: optional: true - eslint-plugin-import-x@4.16.2: - resolution: {integrity: sha512-rM9K8UBHcWKpzQzStn1YRN2T5NvdeIfSVoKu/lKF41znQXHAUcBbYXe5wd6GNjZjTrP7viQ49n1D83x/2gYgIw==} + eslint-plugin-import-x@4.17.1: + resolution: {integrity: sha512-4cdstYkKCyjumM2Q9NSI03K8D2a9F4Ssz33K2lv2hQa4KmR9jPLwk3uWGtNvclfqBrPGfGuMBwsGMbe6dMRbfg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/utils': ^8.56.0 + '@typescript-eslint/utils': 8.70.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 eslint-import-resolver-node: '*' peerDependenciesMeta: @@ -6273,8 +6292,8 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-prettier@5.5.5: - resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==} + eslint-plugin-prettier@5.5.6: + resolution: {integrity: sha512-ifetmTcxWfz+4qRW3pH/ujdTq2jQIj59AxJMIN26K5avYgU8dxycUETQonWiW+wPrYXA0j3Try0l1CnwVQtDqQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -6287,11 +6306,11 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-react-hooks@7.0.1: - resolution: {integrity: sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==} + eslint-plugin-react-hooks@7.1.1: + resolution: {integrity: sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==} engines: {node: '>=18'} peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 eslint-plugin-react@7.37.5: resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} @@ -6304,8 +6323,8 @@ packages: peerDependencies: eslint: '>=0.8.0' - eslint-plugin-unicorn@64.0.0: - resolution: {integrity: sha512-rNZwalHh8i0UfPlhNwg5BTUO1CMdKNmjqe+TgzOTZnpKoi8VBgsW7u9qCHIdpxEzZ1uwrJrPF0uRb7l//K38gA==} + eslint-plugin-unicorn@65.0.0: + resolution: {integrity: sha512-wE75x2QqMuPgZXcoc8LgTz7+gk5+SZK93Cxe6jkfouKp6+FwYwjMGrbYQTMRH8HK8X6jeTBhPPI2Cun923EMLQ==} engines: {node: ^20.10.0 || >=21.0.0} peerDependencies: eslint: '>=9.38.0' @@ -6330,8 +6349,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@9.39.1: - resolution: {integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==} + eslint@9.39.5: + resolution: {integrity: sha512-DgZS62aPLXKlnxILS/AYCoRvHaZeXceIzlXPkkGGzJWSow1aEk0lbTlxUSlyjC8jcaKxAdOnTDz+o1JFSBsyjw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true @@ -6714,8 +6733,8 @@ packages: resolution: {integrity: sha512-cezEd/DTyyht9cvSSURyygXPfy04GtWO/5e6ZPvH7fCtjKz9PYOmuawphw1Ctd1f6C+5JypXfGD7ahNMXvevBA==} engines: {node: '>=18'} - globals@17.4.0: - resolution: {integrity: sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==} + globals@17.6.0: + resolution: {integrity: sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==} engines: {node: '>=18'} globalthis@1.0.4: @@ -8481,10 +8500,6 @@ packages: regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true - regexp.prototype.flags@1.5.4: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} @@ -9315,10 +9330,6 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} - type-fest@4.21.0: - resolution: {integrity: sha512-ADn2w7hVPcK6w1I0uWnM//y1rLXZhzB9mr0a3OirzclKF1Wp6VzevUmzz/NRAWunOT6E8HrnpGY7xOfc6K57fA==} - engines: {node: '>=16'} - type-fest@4.41.0: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} @@ -9347,12 +9358,12 @@ packages: resolution: {integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==} engines: {node: '>= 0.4'} - typescript-eslint@8.57.1: - resolution: {integrity: sha512-fLvZWf+cAGw3tqMCYzGIU6yR8K+Y9NT2z23RwOjlNFF2HwSB3KhdEFI5lSBv8tNmFkkBShSjsCjzx1vahZfISA==} + typescript-eslint@8.70.0: + resolution: {integrity: sha512-P/W5cz70/cQAuKfY3xwQMWWTV7BvJ0mAQmi+9mBcsVPaBUpd6Ohpa+fECv9rBFrQcig86jAiNBFNWUqnTjr4pw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' typescript-json-schema@0.64.0: resolution: {integrity: sha512-Sew8llkYSzpxaMoGjpjD6NMFCr6DoWFHLs7Bz1LU48pzzi8ok8W+GZs9cG87IMBpC0UI7qwBMUI2um0LGxxLOg==} @@ -11761,15 +11772,15 @@ snapshots: '@esbuild/win32-x64@0.28.2': optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.7.1(eslint@9.39.1(supports-color@8.1.1))': + '@eslint-community/eslint-plugin-eslint-comments@4.7.1(eslint@9.39.5(supports-color@8.1.1))': dependencies: escape-string-regexp: 4.0.0 - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) ignore: 7.0.9 - '@eslint-community/eslint-utils@4.10.1(eslint@9.39.1(supports-color@8.1.1))': + '@eslint-community/eslint-utils@4.10.1(eslint@9.39.5(supports-color@8.1.1))': dependencies: - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -11806,6 +11817,8 @@ snapshots: '@eslint/js@9.39.1': {} + '@eslint/js@9.39.5': {} + '@eslint/object-schema@2.1.7': {} '@eslint/plugin-kit@0.4.1': @@ -11877,21 +11890,21 @@ snapshots: optionalDependencies: typescript: 6.0.3 - '@guardian/eslint-config@14.0.1(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': + '@guardian/eslint-config@16.0.0(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-plugin-eslint-comments': 4.7.1(eslint@9.39.1(supports-color@8.1.1)) + '@eslint-community/eslint-plugin-eslint-comments': 4.7.1(eslint@9.39.5(supports-color@8.1.1)) '@eslint/js': 9.39.1 - '@stylistic/eslint-plugin': 5.10.0(eslint@9.39.1(supports-color@8.1.1)) - eslint: 9.39.1(supports-color@8.1.1) - eslint-config-prettier: 10.1.8(eslint@9.39.1(supports-color@8.1.1)) - eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1) - eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1) - eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.1(supports-color@8.1.1)) - eslint-plugin-react: 7.37.5(eslint@9.39.1(supports-color@8.1.1)) - eslint-plugin-react-hooks: 7.0.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1) - globals: 17.4.0 + '@stylistic/eslint-plugin': 5.10.0(eslint@9.39.5(supports-color@8.1.1)) + eslint: 9.39.5(supports-color@8.1.1) + eslint-config-prettier: 10.1.8(eslint@9.39.5(supports-color@8.1.1)) + eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1) + eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.5(supports-color@8.1.1)) + eslint-plugin-react: 7.37.5(eslint@9.39.5(supports-color@8.1.1)) + eslint-plugin-react-hooks: 7.1.1(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1) + globals: 17.6.0 read-package-up: 12.0.0 - typescript-eslint: 8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + typescript-eslint: 8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) transitivePeerDependencies: - '@typescript-eslint/utils' - eslint-import-resolver-node @@ -13628,11 +13641,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@stylistic/eslint-plugin@5.10.0(eslint@9.39.1(supports-color@8.1.1))': + '@stylistic/eslint-plugin@5.10.0(eslint@9.39.5(supports-color@8.1.1))': dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.1(supports-color@8.1.1)) + '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.5(supports-color@8.1.1)) '@typescript-eslint/types': 8.70.0 - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -14226,15 +14239,15 @@ snapshots: '@types/youtube@0.0.50': {} - '@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': + '@typescript-eslint/eslint-plugin@8.70.0(@typescript-eslint/parser@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.57.1 - '@typescript-eslint/type-utils': 8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/utils': 8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.57.1 - eslint: 9.39.1(supports-color@8.1.1) + '@typescript-eslint/parser': 8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.70.0 + '@typescript-eslint/type-utils': 8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/utils': 8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.70.0 + eslint: 9.39.5(supports-color@8.1.1) ignore: 7.0.9 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@6.0.3) @@ -14242,58 +14255,56 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': + '@typescript-eslint/parser@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.57.1 - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/typescript-estree': 8.57.1(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.57.1 + '@typescript-eslint/scope-manager': 8.70.0 + '@typescript-eslint/types': 8.70.0 + '@typescript-eslint/typescript-estree': 8.70.0(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.70.0 debug: 4.4.3(supports-color@8.1.1) - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.57.1(supports-color@8.1.1)(typescript@6.0.3)': + '@typescript-eslint/project-service@8.70.0(supports-color@8.1.1)(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.70.0(typescript@6.0.3) '@typescript-eslint/types': 8.70.0 debug: 4.4.3(supports-color@8.1.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.57.1': + '@typescript-eslint/scope-manager@8.70.0': dependencies: - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/visitor-keys': 8.57.1 + '@typescript-eslint/types': 8.70.0 + '@typescript-eslint/visitor-keys': 8.70.0 - '@typescript-eslint/tsconfig-utils@8.57.1(typescript@6.0.3)': + '@typescript-eslint/tsconfig-utils@8.70.0(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': + '@typescript-eslint/type-utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/typescript-estree': 8.57.1(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/utils': 8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/types': 8.70.0 + '@typescript-eslint/typescript-estree': 8.70.0(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/utils': 8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) debug: 4.4.3(supports-color@8.1.1) - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.57.1': {} - '@typescript-eslint/types@8.70.0': {} - '@typescript-eslint/typescript-estree@8.57.1(supports-color@8.1.1)(typescript@6.0.3)': + '@typescript-eslint/typescript-estree@8.70.0(supports-color@8.1.1)(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.57.1(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@6.0.3) - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/visitor-keys': 8.57.1 + '@typescript-eslint/project-service': 8.70.0(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.70.0(typescript@6.0.3) + '@typescript-eslint/types': 8.70.0 + '@typescript-eslint/visitor-keys': 8.70.0 debug: 4.4.3(supports-color@8.1.1) minimatch: 10.2.6 semver: 7.8.5 @@ -14303,20 +14314,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': + '@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.1(supports-color@8.1.1)) - '@typescript-eslint/scope-manager': 8.57.1 - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/typescript-estree': 8.57.1(supports-color@8.1.1)(typescript@6.0.3) - eslint: 9.39.1(supports-color@8.1.1) + '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.5(supports-color@8.1.1)) + '@typescript-eslint/scope-manager': 8.70.0 + '@typescript-eslint/types': 8.70.0 + '@typescript-eslint/typescript-estree': 8.70.0(supports-color@8.1.1)(typescript@6.0.3) + eslint: 9.39.5(supports-color@8.1.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.57.1': + '@typescript-eslint/visitor-keys@8.70.0': dependencies: - '@typescript-eslint/types': 8.57.1 + '@typescript-eslint/types': 8.70.0 eslint-visitor-keys: 5.0.1 '@ungap/structured-clone@1.4.0': {} @@ -15108,10 +15119,6 @@ snapshots: dependencies: source-map: 0.6.1 - clean-regexp@1.0.0: - dependencies: - escape-string-regexp: 1.0.5 - clean-stack@4.2.0: dependencies: escape-string-regexp: 5.0.0 @@ -15484,6 +15491,8 @@ snapshots: destroy@1.2.0: {} + detect-indent@7.0.2: {} + detect-newline@3.1.0: {} devalue@5.9.2: {} @@ -15864,9 +15873,9 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@10.1.8(eslint@9.39.1(supports-color@8.1.1)): + eslint-config-prettier@10.1.8(eslint@9.39.5(supports-color@8.1.1)): dependencies: - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) eslint-import-context@0.1.9(unrs-resolver@1.12.2): dependencies: @@ -15875,10 +15884,10 @@ snapshots: optionalDependencies: unrs-resolver: 1.12.2 - eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1): + eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1): dependencies: debug: 4.4.3(supports-color@8.1.1) - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) eslint-import-context: 0.1.9(unrs-resolver@1.12.2) get-tsconfig: 4.14.3 is-bun-module: 2.0.0 @@ -15886,14 +15895,14 @@ snapshots: tinyglobby: 0.2.17 unrs-resolver: 1.12.2 optionalDependencies: - eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1) + eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1) transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1): + eslint-import-resolver-typescript@4.4.5(eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1): dependencies: debug: 4.4.3(supports-color@8.1.1) - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) eslint-import-context: 0.1.9(unrs-resolver@1.12.2) get-tsconfig: 4.14.3 is-bun-module: 2.0.0 @@ -15901,20 +15910,21 @@ snapshots: tinyglobby: 0.2.17 unrs-resolver: 1.12.2 optionalDependencies: - eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1) + eslint-plugin-import-x: 4.17.1(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1) transitivePeerDependencies: - supports-color - eslint-plugin-custom-elements@0.0.8(eslint@9.39.1(supports-color@8.1.1)): + eslint-plugin-custom-elements@0.0.8(eslint@9.39.5(supports-color@8.1.1)): dependencies: - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1): + eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1): dependencies: + '@package-json/types': 0.0.12 '@typescript-eslint/types': 8.70.0 comment-parser: 1.4.9 debug: 4.4.3(supports-color@8.1.1) - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) eslint-import-context: 0.1.9(unrs-resolver@1.12.2) is-glob: 4.0.3 minimatch: 10.2.6 @@ -15922,17 +15932,16 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.12.2 optionalDependencies: - '@typescript-eslint/utils': 8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/utils': 8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) transitivePeerDependencies: - supports-color - eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1): + eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1): dependencies: - '@package-json/types': 0.0.12 '@typescript-eslint/types': 8.70.0 comment-parser: 1.4.9 debug: 4.4.3(supports-color@8.1.1) - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) eslint-import-context: 0.1.9(unrs-resolver@1.12.2) is-glob: 4.0.3 minimatch: 10.2.6 @@ -15940,11 +15949,11 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.12.2 optionalDependencies: - '@typescript-eslint/utils': 8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/utils': 8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) transitivePeerDependencies: - supports-color - eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.1(supports-color@8.1.1)): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.5(supports-color@8.1.1)): dependencies: aria-query: 5.3.2 array-includes: 3.2.0 @@ -15954,7 +15963,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) hasown: 2.0.4 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -15963,27 +15972,27 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@9.39.1(supports-color@8.1.1)))(eslint@9.39.1(supports-color@8.1.1))(prettier@3.8.3): + eslint-plugin-prettier@5.5.6(eslint-config-prettier@10.1.8(eslint@9.39.5(supports-color@8.1.1)))(eslint@9.39.5(supports-color@8.1.1))(prettier@3.8.3): dependencies: - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) prettier: 3.8.3 prettier-linter-helpers: 1.0.1 synckit: 0.11.13 optionalDependencies: - eslint-config-prettier: 10.1.8(eslint@9.39.1(supports-color@8.1.1)) + eslint-config-prettier: 10.1.8(eslint@9.39.5(supports-color@8.1.1)) - eslint-plugin-react-hooks@7.0.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1): + eslint-plugin-react-hooks@7.1.1(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1): dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/parser': 7.29.8 - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) hermes-parser: 0.25.1 zod: 4.1.12 zod-validation-error: 4.0.2(zod@4.1.12) transitivePeerDependencies: - supports-color - eslint-plugin-react@7.37.5(eslint@9.39.1(supports-color@8.1.1)): + eslint-plugin-react@7.37.5(eslint@9.39.5(supports-color@8.1.1)): dependencies: array-includes: 3.2.0 array.prototype.findlast: 1.2.5 @@ -15991,7 +16000,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.4.0 - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) estraverse: 5.3.0 hasown: 2.0.4 jsx-ast-utils: 3.3.5 @@ -16005,27 +16014,26 @@ snapshots: string.prototype.matchall: 4.1.0 string.prototype.repeat: 1.0.0 - eslint-plugin-ssr-friendly@1.3.0(eslint@9.39.1(supports-color@8.1.1)): + eslint-plugin-ssr-friendly@1.3.0(eslint@9.39.5(supports-color@8.1.1)): dependencies: - eslint: 9.39.1(supports-color@8.1.1) + eslint: 9.39.5(supports-color@8.1.1) globals: 13.24.0 - eslint-plugin-unicorn@64.0.0(eslint@9.39.1(supports-color@8.1.1)): + eslint-plugin-unicorn@65.0.0(eslint@9.39.5(supports-color@8.1.1)): dependencies: '@babel/helper-validator-identifier': 7.29.7 - '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.1(supports-color@8.1.1)) + '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.5(supports-color@8.1.1)) change-case: 5.4.4 ci-info: 4.4.0 - clean-regexp: 1.0.0 core-js-compat: 3.50.0 - eslint: 9.39.1(supports-color@8.1.1) + detect-indent: 7.0.2 + eslint: 9.39.5(supports-color@8.1.1) find-up-simple: 1.0.1 globals: 17.12.0 indent-string: 5.0.0 is-builtin-module: 5.0.0 jsesc: 3.1.0 pluralize: 8.0.0 - regexp-tree: 0.1.27 regjsparser: 0.13.2 semver: 7.8.5 strip-indent: 4.1.1 @@ -16046,15 +16054,15 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@9.39.1(supports-color@8.1.1): + eslint@9.39.5(supports-color@8.1.1): dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.1(supports-color@8.1.1)) + '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.5(supports-color@8.1.1)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.21.2(supports-color@8.1.1) '@eslint/config-helpers': 0.4.2 '@eslint/core': 0.17.0 '@eslint/eslintrc': 3.3.7(supports-color@8.1.1) - '@eslint/js': 9.39.1 + '@eslint/js': 9.39.5 '@eslint/plugin-kit': 0.4.1 '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 @@ -16529,7 +16537,7 @@ snapshots: globals@17.12.0: {} - globals@17.4.0: {} + globals@17.6.0: {} globalthis@1.0.4: dependencies: @@ -17662,7 +17670,7 @@ snapshots: make-asynchronous@1.1.0: dependencies: p-event: 6.0.1 - type-fest: 4.21.0 + type-fest: 4.41.0 web-worker: 1.5.0 make-dir@3.1.0: @@ -18635,8 +18643,6 @@ snapshots: regenerate@1.4.2: {} - regexp-tree@0.1.27: {} - regexp.prototype.flags@1.5.4: dependencies: call-bind: 1.0.9 @@ -19671,8 +19677,6 @@ snapshots: type-fest@0.8.1: {} - type-fest@4.21.0: {} - type-fest@4.41.0: {} type-fest@5.9.0: @@ -19718,13 +19722,13 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3): + typescript-eslint@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.57.1(@typescript-eslint/parser@8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/parser': 8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.57.1(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/utils': 8.57.1(eslint@9.39.1(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) - eslint: 9.39.1(supports-color@8.1.1) + '@typescript-eslint/eslint-plugin': 8.70.0(@typescript-eslint/parser@8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/parser': 8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.70.0(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/utils': 8.70.0(eslint@9.39.5(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + eslint: 9.39.5(supports-color@8.1.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 18efa987f4c..27b19f3fbc9 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -13,7 +13,7 @@ catalog: '@aws-sdk/client-s3': 3.995.0 '@aws-sdk/client-ssm': 3.995.0 '@guardian/cdk': 64.7.0 - '@guardian/eslint-config': 14.0.1 + '@guardian/eslint-config': 16.0.0 '@guardian/tsconfig': 1.0.1 '@rollup/plugin-commonjs': 29.0.3 '@rollup/plugin-json': 6.1.0 @@ -24,7 +24,7 @@ catalog: aws-cdk-lib: 2.269.0 constructs: 10.8.1 esbuild: 0.28.1 - eslint: 9.39.1 + eslint: 9.39.5 rollup: 4.59.0 rollup-plugin-esbuild: 6.2.1 tslib: 2.6.2 @@ -34,3 +34,11 @@ catalog: minimumReleaseAge: 2880 # 2 day minimum package version age minimumReleaseAgeExclude: - '@guardian/*' +overrides: + # Ensure @guardian/eslint-config resolves to the same typescript-eslint + # packages we use directly, otherwise eslint fails to load with a + # "Cannot redefine plugin" error caused by duplicate plugin instances. + typescript-eslint: 8.70.0 + '@typescript-eslint/eslint-plugin': 8.70.0 + '@typescript-eslint/parser': 8.70.0 + '@typescript-eslint/utils': 8.70.0