Skip to content

Commit c52d211

Browse files
authored
chore(header): upgrade backstage, nfs app & app-legacy setup (#2608)
Signed-off-by: Rohit Rai <rohitkrai03@gmail.com>
1 parent 79e54b6 commit c52d211

50 files changed

Lines changed: 5563 additions & 6170 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
playwright.config.ts
2+
e2e-tests/

workspaces/global-header/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,6 @@ site
5353

5454
# E2E test reports
5555
e2e-test-report/
56+
**/e2e-test-report*/
57+
**/test-results/
58+
**/playwright-report/
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"version": "1.45.2"
2+
"version": "1.49.2"
33
}

workspaces/global-header/packages/app/e2e-tests/globalHeader.test.ts renamed to workspaces/global-header/e2e-tests/globalHeader.test.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ test('Verify Global header to be visible', async ({
109109
await runAccessibilityTests(page, testInfo);
110110
});
111111

112-
test('Verify Hover texts to be visible', async ({}, testInfo: TestInfo) => {
112+
test('Verify Hover texts to be visible', async () => {
113113
const { globalHeader, starredItems, appLauncher, help, notifications } =
114114
getHeaderElements();
115115

@@ -143,7 +143,7 @@ test('Verify Hover texts to be visible', async ({}, testInfo: TestInfo) => {
143143
`);
144144
});
145145

146-
test('Verify Search functionality and results', async ({}, testInfo: TestInfo) => {
146+
test('Verify Search functionality and results', async () => {
147147
const { search } = getHeaderElements();
148148
const searchQuery = 'example-website';
149149
const expectedUrl = /\/example-website/;
@@ -162,7 +162,7 @@ test('Verify Search functionality and results', async ({}, testInfo: TestInfo) =
162162
await expect(page.locator('h1')).toContainText(searchQuery);
163163
});
164164

165-
test('Verify Self-service functionality', async ({}, testInfo: TestInfo) => {
165+
test('Verify Self-service functionality', async () => {
166166
const { selfService } = getHeaderElements();
167167
await selfService.click();
168168
await expect(page.getByRole('menu')).toMatchAriaSnapshot(`
@@ -178,9 +178,8 @@ test('Verify Self-service functionality', async ({}, testInfo: TestInfo) => {
178178
await page.keyboard.press('Escape');
179179
});
180180

181-
test('Verify Starred items functionality', async ({}, testInfo: TestInfo) => {
181+
test('Verify Starred items functionality', async () => {
182182
const { starredItems, companyLogo } = getHeaderElements();
183-
const entityName = 'example-website';
184183

185184
await starredItems.click();
186185
await expect(page.getByRole('menu')).toMatchAriaSnapshot(`
@@ -203,7 +202,7 @@ test('Verify Starred items functionality', async ({}, testInfo: TestInfo) => {
203202
await page.keyboard.press('Escape');
204203
});
205204

206-
test('Verify Application launcher functionality', async ({}, testInfo: TestInfo) => {
205+
test('Verify Application launcher functionality', async () => {
207206
const { appLauncher } = getHeaderElements();
208207
await appLauncher.click();
209208
await expect(page.getByRole('menu')).toMatchAriaSnapshot(`
@@ -219,7 +218,7 @@ test('Verify Application launcher functionality', async ({}, testInfo: TestInfo)
219218
await page.keyboard.press('Escape');
220219
});
221220

222-
test('Verify Help functionality', async ({}, testInfo: TestInfo) => {
221+
test('Verify Help functionality', async () => {
223222
const { help } = getHeaderElements();
224223
await help.click();
225224
await expect(
@@ -231,7 +230,7 @@ test('Verify Help functionality', async ({}, testInfo: TestInfo) => {
231230
await page.keyboard.press('Escape');
232231
});
233232

234-
test('Verify Notifications functionality', async ({}, testInfo: TestInfo) => {
233+
test('Verify Notifications functionality', async () => {
235234
const { notifications } = getHeaderElements();
236235

237236
await notifications.click();

workspaces/global-header/packages/app/e2e-tests/utils/accessibility.ts renamed to workspaces/global-header/e2e-tests/utils/accessibility.ts

File renamed without changes.

workspaces/global-header/packages/app/e2e-tests/utils/globalHeaderHelper.ts renamed to workspaces/global-header/e2e-tests/utils/globalHeaderHelper.ts

File renamed without changes.

workspaces/global-header/packages/app/e2e-tests/utils/localeSkip.ts renamed to workspaces/global-header/e2e-tests/utils/localeSkip.ts

File renamed without changes.

workspaces/global-header/packages/app/e2e-tests/utils/translations.ts renamed to workspaces/global-header/e2e-tests/utils/translations.ts

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,32 @@
1616

1717
// These translation files are not exported by the package, so relative imports are necessary for e2e tests
1818
/* eslint-disable @backstage/no-relative-monorepo-imports */
19-
import { globalHeaderMessages } from '../../../../plugins/global-header/src/translations/ref.js';
20-
import globalHeaderTranslationDe from '../../../../plugins/global-header/src/translations/de.js';
21-
import globalHeaderTranslationEs from '../../../../plugins/global-header/src/translations/es.js';
22-
import globalHeaderTranslationFr from '../../../../plugins/global-header/src/translations/fr.js';
23-
import globalHeaderTranslationIt from '../../../../plugins/global-header/src/translations/it.js';
24-
import globalHeaderTranslationJa from '../../../../plugins/global-header/src/translations/ja.js';
19+
import { globalHeaderMessages } from '../../plugins/global-header/src/translations/ref.js';
20+
import globalHeaderTranslationDe from '../../plugins/global-header/src/translations/de.js';
21+
import globalHeaderTranslationEs from '../../plugins/global-header/src/translations/es.js';
22+
import globalHeaderTranslationFr from '../../plugins/global-header/src/translations/fr.js';
23+
import globalHeaderTranslationIt from '../../plugins/global-header/src/translations/it.js';
24+
import globalHeaderTranslationJa from '../../plugins/global-header/src/translations/ja.js';
2525
/* eslint-enable @backstage/no-relative-monorepo-imports */
2626

2727
export type GlobalHeaderMessages = typeof globalHeaderMessages;
2828

2929
function transform(messages: typeof globalHeaderTranslationDe.messages) {
30-
const result = Object.keys(messages).reduce((res, key) => {
31-
const path = key.split('.');
32-
const lastIndex = path.length - 1;
33-
path.reduce((acc, currentPath, i) => {
34-
acc[currentPath] =
35-
lastIndex === i ? messages[key] : acc[currentPath] || {};
36-
return acc[currentPath];
37-
}, res);
38-
return res;
39-
}, {});
30+
const result = Object.keys(messages).reduce<Record<string, any>>(
31+
(res, key) => {
32+
const path = key.split('.');
33+
const lastIndex = path.length - 1;
34+
path.reduce<Record<string, any>>((acc, currentPath, i) => {
35+
acc[currentPath] =
36+
lastIndex === i
37+
? messages[key as keyof typeof messages]
38+
: acc[currentPath] || {};
39+
return acc[currentPath] as Record<string, any>;
40+
}, res);
41+
return res;
42+
},
43+
{},
44+
);
4045

4146
return result as GlobalHeaderMessages;
4247
}

workspaces/global-header/package.json

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"tsc": "tsc",
1010
"tsc:full": "tsc --skipLibCheck true --incremental false",
1111
"start": "backstage-cli repo start",
12+
"start:legacy": "backstage-cli repo start packages/app-legacy packages/backend",
1213
"start-backend": "yarn workspace backend start",
1314
"build:backend": "yarn workspace backend build",
1415
"build-image": "yarn workspace backend build-image",
@@ -19,7 +20,11 @@
1920
"clean": "backstage-cli repo clean",
2021
"test": "backstage-cli repo test",
2122
"test:all": "backstage-cli repo test --coverage",
22-
"test:e2e": "playwright test",
23+
"test:e2e": "yarn test:e2e:legacy",
24+
"test:e2e:legacy": "APP_MODE=legacy playwright test",
25+
"test:e2e:nfs": "APP_MODE=nfs playwright test",
26+
"test:e2e:all": "yarn test:e2e:legacy && yarn test:e2e:nfs",
27+
"playwright": "bash -c 'if [[ $@ == test ]]; then yarn test:e2e:legacy; else npx playwright \"$@\"; fi' _",
2328
"fix": "backstage-cli repo fix",
2429
"lint": "backstage-cli repo lint --since origin/main",
2530
"lint:all": "backstage-cli repo lint",
@@ -40,16 +45,17 @@
4045
"directory": "workspaces/global-header"
4146
},
4247
"devDependencies": {
43-
"@backstage/cli": "^0.34.5",
44-
"@backstage/e2e-test-utils": "^0.1.1",
45-
"@backstage/repo-tools": "^0.16.0",
48+
"@backstage/cli": "^0.36.0",
49+
"@backstage/cli-defaults": "^0.1.0",
50+
"@backstage/e2e-test-utils": "^0.1.2",
51+
"@backstage/repo-tools": "^0.17.0",
4652
"@changesets/cli": "^2.27.1",
4753
"@playwright/test": "1.58.2",
4854
"@spotify/prettier-config": "^12.0.0",
4955
"knip": "^5.27.4",
5056
"node-gyp": "^9.0.0",
5157
"prettier": "^2.3.2",
52-
"typescript": "~5.3.0"
58+
"typescript": "~5.8.0"
5359
},
5460
"resolutions": {
5561
"@types/react": "^18",
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
public

0 commit comments

Comments
 (0)