repo: promote app-next to main example app

This renames packages to make the new frontend system the default:

- packages/app → packages/app-legacy (example-app-legacy)
- packages/app-next → packages/app (example-app)
- packages/app-next-example-plugin → packages/app-example-plugin

Updated all related configuration, scripts, and documentation.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Patrik Oldsberg
2026-02-05 23:12:06 +01:00
parent 9848734ce6
commit be7ebadb21
93 changed files with 15461 additions and 15241 deletions
+6 -3
View File
@@ -35,14 +35,17 @@ test('Should not throw `ResizeObserver loop completed with undelivered notificat
).not.toBeVisible();
});
test('Should render some home page widgets', async ({ page }) => {
test('Should render the home page', async ({ page }) => {
await page.goto('/');
const enterButton = page.getByRole('button', { name: 'Enter' });
await expect(enterButton).toBeVisible();
await enterButton.click();
// Wait for sign-in to complete
await expect(page.getByRole('link', { name: 'Catalog' })).toBeVisible();
await page.goto('/home');
await expect(page.getByText('Top Visited')).toBeVisible();
await expect(page.getByText('Recently Visited')).toBeVisible();
// The home page should render with the custom homepage grid
await expect(page.getByRole('link', { name: 'Home' })).toBeVisible();
});
+9 -2
View File
@@ -23,8 +23,11 @@ test('the results are rendered as expected', async ({ page }) => {
await expect(enterButton).toBeVisible();
await enterButton.click();
await page.goto('/search');
await page.route(`http://*/api/search/query?term=*`, async route => {
// Wait for sign-in to complete before navigating
await expect(page.getByRole('link', { name: 'Catalog' })).toBeVisible();
// Set up route interception BEFORE navigating to the search page
await page.route(`**/api/search/query?term=*`, async route => {
const results = [
{
type: 'software-catalog',
@@ -38,9 +41,13 @@ test('the results are rendered as expected', async ({ page }) => {
await route.fulfill({ json: { results } });
});
await page.goto('/search');
await expect(
page.getByPlaceholder('Search in Backstage Example App'),
).toBeVisible();
// Type a search query to trigger the mocked response
await page.getByPlaceholder('Search in Backstage Example App').fill('test');
await expect(page.getByText('Backstage system documentation')).toBeVisible();
});
+3 -7
View File
@@ -23,11 +23,7 @@ test('App should render the welcome page', async ({ page }) => {
await expect(enterButton).toBeVisible();
await enterButton.click();
await expect(page.getByText('My Company Catalog')).toBeVisible();
const supportButton = page.getByTestId('support-button');
await expect(supportButton).toBeVisible();
await supportButton.click();
await expect(page.getByText('#backstage')).toBeVisible();
// Verify the sidebar navigation is visible after sign-in
await expect(page.getByRole('link', { name: 'Catalog' })).toBeVisible();
await expect(page.getByRole('link', { name: 'APIs' })).toBeVisible();
});