feat: publish Toolbox 0.6.0 with regex-tools

This commit is contained in:
2026-07-24 18:14:47 +02:00
parent a9c31c8986
commit 5c052bc6d1
17 changed files with 117 additions and 39 deletions

View File

@@ -121,6 +121,33 @@ describe('portal UI', () => {
);
});
it('uses the compact Regex presentation for the released tool', async () => {
vi.stubGlobal(
'fetch',
vi.fn(
catalogueFetch({
'/toolbox.catalog.json': Response.json({
...catalogue,
apps: [
...catalogue.apps,
{ manifest: './apps/regex/toolbox-app.json', enabled: true },
],
}),
})
)
);
render(<App />);
await findToolLink();
const card = screen.getByTestId('app-card-de.add-ideas.regex-tools');
expect(within(card).getByRole('heading', { level: 3 })).toHaveTextContent(
'Regex'
);
expect(
within(card).getByText('Explain and test regex locally.')
).toBeVisible();
});
it('moves the full disclosure into an accessible modal', async () => {
vi.stubGlobal('fetch', vi.fn(catalogueFetch()));
const user = userEvent.setup();

View File

@@ -489,9 +489,9 @@ export default function App() {
</span>
</p>
<span>
Portal v0.2.4 ·{' '}
Portal v0.2.5 ·{' '}
<a
href="https://git.add-ideas.de/zemion/toolbox-portal/src/tag/v0.5.0"
href="https://git.add-ideas.de/zemion/toolbox-portal/src/tag/v0.6.0"
target="_blank"
rel="noopener noreferrer"
>

View File

@@ -65,6 +65,28 @@ export const onenoteManifest: ToolboxAppManifest = {
},
};
export const regexManifest: ToolboxAppManifest = {
...pdfManifest,
id: 'de.add-ideas.regex-tools',
name: 'Regex Tools',
version: '0.1.0',
description:
'Develop, explain, test and apply regular expressions locally in the browser.',
icon: './regex.svg',
categories: ['developer', 'text', 'regex'],
tags: ['regular-expression', 'match', 'replace', 'explain', 'test'],
requirements: {
secureContext: false,
workers: true,
indexedDb: true,
crossOriginIsolated: false,
},
source: {
repository: 'https://git.add-ideas.de/zemion/regex-tools',
license: 'GPL-3.0-or-later',
},
};
export const catalogue: ToolboxCatalog = {
schemaVersion: 1,
id: 'de.add-ideas.toolbox',
@@ -94,6 +116,8 @@ export function catalogueFetch(overrides: Record<string, Response> = {}) {
return Response.json(xsltManifest);
if (url.pathname.endsWith('/apps/onenote/toolbox-app.json'))
return Response.json(onenoteManifest);
if (url.pathname.endsWith('/apps/regex/toolbox-app.json'))
return Response.json(regexManifest);
return new Response('Not found', { status: 404 });
};
}

View File

@@ -13,6 +13,10 @@ const PRESENTATION: Record<string, { title: string; description: string }> = {
title: 'OneNote',
description: 'Open OneNote files locally.',
},
'de.add-ideas.regex-tools': {
title: 'Regex',
description: 'Explain and test regex locally.',
},
};
export function shortToolTitle(app: ResolvedApp): string {