Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,29 +29,29 @@
"test:e2e": "playwright test"
},
"dependencies": {
"preact": "^10.29.1",
"preact": "^10.29.2",
"tslib": "^2.8.1"
},
"devDependencies": {
"@eslint/js": "^9.39.4",
"@hey-api/openapi-ts": "^0.93.1",
"@playwright/test": "^1.59.1",
"@eslint/js": "^10.0.1",
"@hey-api/openapi-ts": "^0.97.2",
"@playwright/test": "^1.60.0",
"@preact/preset-vite": "^2.10.5",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/preact": "^3.2.4",
"baseline-browser-mapping": "^2.10.24",
"eslint": "^9.39.4",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-unicorn": "^57.0.0",
"globals": "^16.5.0",
"jsdom": "^27.4.0",
"msw": "^2.14.2",
"baseline-browser-mapping": "^2.10.31",
"eslint": "^10.4.0",
"eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-unicorn": "^64.0.0",
"globals": "^17.6.0",
"jsdom": "^29.1.1",
"msw": "^2.14.6",
"prettier": "^3.8.3",
"stylelint": "^17.9.1",
"stylelint": "^17.11.1",
"stylelint-config-standard": "^40.0.0",
"typescript": "^5.9.3",
"typescript-eslint": "^8.59.1",
"vite": "^7.3.2",
"vitest": "^3.2.4"
"typescript": "^6.0.3",
"typescript-eslint": "^8.59.4",
"vite": "^8.0.13",
"vitest": "^4.1.6"
}
}
2,000 changes: 1,037 additions & 963 deletions frontend/pnpm-lock.yaml

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions frontend/src/__tests__/App.contract.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ describe('App contract', () => {
if (String(input).endsWith('/api/v1/feeds/generated-token.json')) {
expect((init?.headers as Record<string, string> | undefined)?.Accept).toBe('application/feed+json');
return Promise.resolve(
new Response(
JSON.stringify({
Response.json(
{
items: [
{
title: 'Contract Item',
Expand All @@ -30,7 +30,7 @@ describe('App contract', () => {
date_published: '2024-01-01T00:00:00Z',
},
],
}),
},
{ status: 200, headers: { 'Content-Type': 'application/feed+json' } }
)
);
Expand Down
11 changes: 7 additions & 4 deletions frontend/src/__tests__/useFeedConversion.contract.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,13 @@ describe('useFeedConversion contract', () => {
const fetchSpy = vi.spyOn(globalThis, 'fetch').mockImplementation((input, init) => {
if (String(input).endsWith('/api/v1/feeds/generated-token.json')) {
return Promise.resolve(
new Response(JSON.stringify({ items: [{ title: 'Preview', content_text: 'Text' }] }), {
status: 200,
headers: { 'Content-Type': 'application/feed+json' },
})
Response.json(
{ items: [{ title: 'Preview', content_text: 'Text' }] },
{
status: 200,
headers: { 'Content-Type': 'application/feed+json' },
}
)
);
}

Expand Down
17 changes: 10 additions & 7 deletions frontend/src/__tests__/useFeedConversion.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,20 @@ const mockFeed = {
};

function createResponse(status = 201) {
return new Response(JSON.stringify({ success: true, data: { feed: mockFeed } }), {
status,
headers: { 'Content-Type': 'application/json' },
});
return Response.json(
{ success: true, data: { feed: mockFeed } },
{
status,
headers: { 'Content-Type': 'application/json' },
}
);
}

function previewResponse(status = 200) {
return new Response(
JSON.stringify({
return Response.json(
{
items: [{ title: 'Preview item', content_text: 'Preview excerpt', date_published: '2024-01-02' }],
}),
},
{ status, headers: { 'Content-Type': 'application/feed+json' } }
);
}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/api/generated/client.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ import type { ClientOptions as ClientOptions2 } from './types.gen';
* `setConfig()`. This is useful for example if you're using Next.js
* to ensure your client always has the correct values.
*/
export type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T> | Promise<Config<Required<ClientOptions> & T>>;
export type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;

export const client = createClient(createConfig<ClientOptions2>({ baseUrl: 'https://api.html2rss.dev/api/v1' }));
Loading
Loading