@allurereport/web-awesome 3.0.0-beta.24 → 3.0.0-beta.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/multi/{173.app-9744a06934ffbef2c892.js → 173.app-d8d1617ad8c331f5c884.js} +1 -1
  2. package/dist/multi/{174.app-9744a06934ffbef2c892.js → 174.app-d8d1617ad8c331f5c884.js} +1 -1
  3. package/dist/multi/{252.app-9744a06934ffbef2c892.js → 252.app-d8d1617ad8c331f5c884.js} +1 -1
  4. package/dist/multi/{282.app-9744a06934ffbef2c892.js → 282.app-d8d1617ad8c331f5c884.js} +1 -1
  5. package/dist/multi/{29.app-9744a06934ffbef2c892.js → 29.app-d8d1617ad8c331f5c884.js} +1 -1
  6. package/dist/multi/{416.app-9744a06934ffbef2c892.js → 416.app-d8d1617ad8c331f5c884.js} +1 -1
  7. package/dist/multi/{527.app-9744a06934ffbef2c892.js → 527.app-d8d1617ad8c331f5c884.js} +1 -1
  8. package/dist/multi/{600.app-9744a06934ffbef2c892.js → 600.app-d8d1617ad8c331f5c884.js} +1 -1
  9. package/dist/multi/{605.app-9744a06934ffbef2c892.js → 605.app-d8d1617ad8c331f5c884.js} +1 -1
  10. package/dist/multi/{638.app-9744a06934ffbef2c892.js → 638.app-d8d1617ad8c331f5c884.js} +1 -1
  11. package/dist/multi/{672.app-9744a06934ffbef2c892.js → 672.app-d8d1617ad8c331f5c884.js} +1 -1
  12. package/dist/multi/{686.app-9744a06934ffbef2c892.js → 686.app-d8d1617ad8c331f5c884.js} +1 -1
  13. package/dist/multi/{725.app-9744a06934ffbef2c892.js → 725.app-d8d1617ad8c331f5c884.js} +1 -1
  14. package/dist/multi/{741.app-9744a06934ffbef2c892.js → 741.app-d8d1617ad8c331f5c884.js} +1 -1
  15. package/dist/multi/{755.app-9744a06934ffbef2c892.js → 755.app-d8d1617ad8c331f5c884.js} +1 -1
  16. package/dist/multi/{894.app-9744a06934ffbef2c892.js → 894.app-d8d1617ad8c331f5c884.js} +1 -1
  17. package/dist/multi/91.app-d8d1617ad8c331f5c884.js +1 -0
  18. package/dist/multi/{943.app-9744a06934ffbef2c892.js → 943.app-d8d1617ad8c331f5c884.js} +1 -1
  19. package/dist/multi/{980.app-9744a06934ffbef2c892.js → 980.app-d8d1617ad8c331f5c884.js} +1 -1
  20. package/dist/multi/app-d8d1617ad8c331f5c884.js +2 -0
  21. package/dist/multi/manifest.json +21 -20
  22. package/dist/multi/styles-0917135a308a02ad5441.css +48 -0
  23. package/dist/single/app-f003cc8085004a9dbc06.js +2 -0
  24. package/dist/single/manifest.json +1 -1
  25. package/package.json +6 -6
  26. package/src/assets/scss/theme.scss +12 -0
  27. package/src/components/Charts/index.tsx +14 -0
  28. package/src/components/Charts/styles.scss +12 -2
  29. package/src/components/Timeline/index.tsx +9 -17
  30. package/src/locales/az.json +20 -0
  31. package/src/locales/de.json +20 -0
  32. package/src/locales/en.json +20 -0
  33. package/src/locales/es.json +20 -0
  34. package/src/locales/fr.json +20 -0
  35. package/src/locales/he.json +20 -0
  36. package/src/locales/hy.json +20 -0
  37. package/src/locales/it.json +20 -0
  38. package/src/locales/ja.json +20 -0
  39. package/src/locales/ka.json +20 -0
  40. package/src/locales/kr.json +20 -0
  41. package/src/locales/nl.json +20 -0
  42. package/src/locales/pl.json +20 -0
  43. package/src/locales/pt.json +20 -0
  44. package/src/locales/ru.json +20 -0
  45. package/src/locales/sv.json +20 -0
  46. package/src/locales/tr.json +20 -0
  47. package/src/locales/ua.json +185 -0
  48. package/src/locales/zh.json +20 -0
  49. package/src/stores/locale.ts +34 -0
  50. package/src/stores/timeline.ts +7 -2
  51. package/webpack.config.js +12 -1
  52. package/dist/multi/app-9744a06934ffbef2c892.js +0 -2
  53. package/dist/multi/styles-c0d22dac0f1d971a76eb.css +0 -48
  54. package/dist/single/app-bfa8df3fad4158726f8e.js +0 -2
  55. /package/dist/multi/{app-9744a06934ffbef2c892.js.LICENSE.txt → app-d8d1617ad8c331f5c884.js.LICENSE.txt} +0 -0
  56. /package/dist/single/{app-bfa8df3fad4158726f8e.js.LICENSE.txt → app-f003cc8085004a9dbc06.js.LICENSE.txt} +0 -0
@@ -0,0 +1,185 @@
1
+ {
2
+ "statuses": {
3
+ "passed": "успішний",
4
+ "failed": "неуспішний",
5
+ "broken": "зламаний",
6
+ "skipped": "пропущений",
7
+ "unknown": "невідомий",
8
+ "total": "всі",
9
+ "flakyTests": "нестабільний",
10
+ "newTests": "новий",
11
+ "retryTests": "повторний"
12
+ },
13
+ "testSummary": {
14
+ "total": "Всього",
15
+ "flaky": "Нестабільні тести",
16
+ "retries": "Повторні тести",
17
+ "new": "Нові тести"
18
+ },
19
+ "tabs": {
20
+ "total": "Всі",
21
+ "results": "Результати",
22
+ "globalAttachments": "Глобальні Вкладення",
23
+ "globalErrors": "Глобальні Помилки",
24
+ "qualityGates": "Ворота Якості"
25
+ },
26
+ "search": {
27
+ "search": "Пошук",
28
+ "search-placeholder": "Назва або ID"
29
+ },
30
+ "filters": {
31
+ "more-filters": "Фільтри",
32
+ "enable-filter": "Увімкнути фільтр за \"{{filter}}\"",
33
+ "flaky": "Нестабільні",
34
+ "retry": "Повторені",
35
+ "new": "Нові",
36
+ "fixed": "Виправлені",
37
+ "regressed": "Регресовані",
38
+ "malfunctioned": "Зламані"
39
+ },
40
+ "filters.description": {
41
+ "flaky": "Показати нестабільні тести",
42
+ "retry": "Показати результати тестів, які були перезапущені",
43
+ "new": "Показати результати тестів, які вперше з'являються в цьому звіті",
44
+ "fixed": "Показати тести, які тепер успішні, але раніше були \"неуспішними\" або \"зламаними\" в попередньому звіті",
45
+ "regressed": "Показати результати тестів, які змінили статус на \"неуспішний\" з \"успішний\" або \"зламаний\"",
46
+ "malfunctioned": "Показати результати тестів, які змінили статус на \"зламаний\" з \"успішний\" або \"неуспішний\""
47
+ },
48
+ "sort-by": {
49
+ "sort-by-text": "Сортувати за:",
50
+ "sort-by-category": "Сортувати за",
51
+ "direction-category": "Напрямок"
52
+ },
53
+ "sort-by.values": {
54
+ "order": "Порядок",
55
+ "alphabet": "Назва",
56
+ "duration": "Тривалість",
57
+ "status": "Статус"
58
+ },
59
+ "sort-by.directions": {
60
+ "order-desc": "Ранні – Пізні",
61
+ "order-asc": "Пізні – Ранні",
62
+ "order-asc-short": "Пізні",
63
+ "order-desc-short": "Ранні",
64
+ "alphabet-asc": "А – Я",
65
+ "alphabet-desc": "Я – А",
66
+ "alphabet-asc-short": "А – Я",
67
+ "alphabet-desc-short": "Я – А",
68
+ "duration-asc": "1 – 9",
69
+ "duration-desc": "9 – 1",
70
+ "duration-asc-short": "1 – 9",
71
+ "duration-desc-short": "9 – 1",
72
+ "status-asc": "Як у списку фільтра",
73
+ "status-desc": "Інвертовано",
74
+ "status-asc-short": "За звичайним",
75
+ "status-desc-short": "Інвертовано"
76
+ },
77
+ "empty": {
78
+ "no-results": "Немає результатів",
79
+ "no-tests-found": "Результати не знайдено",
80
+ "no-message-provided": "Повідомлення не надано",
81
+ "clear-filters": "Очистити фільтри",
82
+ "no-attachments-results": "Інформація про вкладення відсутня",
83
+ "no-global-errors-results": "Інформація про глобальні помилки відсутня",
84
+ "no-quality-gate-results": "Інформація про ворота якості відсутня",
85
+ "no-history-results": "Інформація про історію відсутня",
86
+ "no-retries-results": "Інформація про перезапуски відсутня",
87
+ "no-test-steps-results": "Немає інформації про кроки тестування",
88
+ "no-test-case-results": "Немає результатів тест-кейсів",
89
+ "no-environments-results": "Інформація про оточення відсутня"
90
+ },
91
+ "severity": {
92
+ "blocker": "блокер",
93
+ "critical": "критична",
94
+ "normal": "звичайна",
95
+ "minor": "невисока",
96
+ "trivial": "мінімальна"
97
+ },
98
+ "execution": {
99
+ "name": "Виконання",
100
+ "body": "Тіло тесту",
101
+ "setup": "Підготовка",
102
+ "teardown": "Завершення"
103
+ },
104
+ "environments": {
105
+ "environment_one": "Оточення",
106
+ "environment_other": "Оточення",
107
+ "all": "Всі"
108
+ },
109
+ "ui": {
110
+ "labels": "Мітки",
111
+ "metadata": "Метадані",
112
+ "parameters": "Параметри",
113
+ "description": "Опис",
114
+ "links": "Посилання",
115
+ "overview": "Огляд",
116
+ "history": "Історія",
117
+ "attachments": "Вкладення",
118
+ "retries": "Перезапуски",
119
+ "environments": "Оточення",
120
+ "error": "Помилка",
121
+ "goToStep": "Перейти до кроку",
122
+ "showLess": "Показати менше",
123
+ "showMore": "Показати більше",
124
+ "copy": "Скопіювати",
125
+ "attempt": "Спроба {{attempt}} з {{total}}",
126
+ "at": "в",
127
+ "variables": "Змінні",
128
+ "openPwTrace": "Відкрити Playwright Trace",
129
+ "finishedAtOriginal": "{{formattedCreatedAt}}, з кодом виходу {{original}}",
130
+ "finishedAtBoth": "{{formattedCreatedAt}}, з кодом виходу {{actual}} (первісний {{original}})"
131
+ },
132
+ "controls": {
133
+ "newTabAttachment": "Відкрити в новій вкладці",
134
+ "nextTR": "Наступний тест",
135
+ "prevTR": "Попередній тест",
136
+ "downloadAttachment": "Завантажити вкладення",
137
+ "backto": "Повернутися на",
138
+ "clipboard": "Скопіювати в буфер обміну",
139
+ "clipboardError": "Помилка. Швидше за все ваш браузер не підтримує дану функціональність",
140
+ "clipboardSuccess": "Значення успішно скопійовано",
141
+ "collapse": "Згорнути",
142
+ "expand": "Розгорнути",
143
+ "fullscreen": "На весь екран",
144
+ "language": "Змінити мову",
145
+ "openInNewTab": "Відкрити в новій вкладці",
146
+ "openPreview": "Відкрити попередній перегляд",
147
+ "noSelectedTR": "Немає вибраного результату тесту",
148
+ "comparison": "Порівняння",
149
+ "showDiff": "Показати різницю",
150
+ "viewMode": "Режим перегляду",
151
+ "unified": "Об'єднаний",
152
+ "side-by-side": "Поряд",
153
+ "compareBy": "Порівнювати за",
154
+ "chars": "символами",
155
+ "words": "словами",
156
+ "lines": "рядками",
157
+ "actual": "Фактичне",
158
+ "expected": "Очікуване"
159
+ },
160
+ "errors": {
161
+ "missedAttachment": "Вкладення не знайдено"
162
+ },
163
+ "sections": {
164
+ "report": "Звіт",
165
+ "charts": "Графіки"
166
+ },
167
+ "charts": {
168
+ "trend": {
169
+ "title": "Графік тренду: {{type}}",
170
+ "type": {
171
+ "status": "Статус",
172
+ "severity": "Важливість"
173
+ }
174
+ },
175
+ "pie": {
176
+ "title": "Успішність тестування"
177
+ }
178
+ },
179
+ "transitions.description": {
180
+ "new": "Перша поява цього результату тесту в звіті",
181
+ "fixed": "Раніше \"неуспішний\" або \"зламаний\" тест, який тепер \"успішний\"",
182
+ "regressed": "Раніше \"успішний\" або \"зламаний\" тест, який тепер \"неуспішний\"",
183
+ "malfunctioned": "Раніше \"успішний\" або \"неуспішний\" тест, який тепер \"зламаний\""
184
+ }
185
+ }
@@ -203,6 +203,26 @@
203
203
  "retries_one": "{{count}} 个重试测试",
204
204
  "retries_other": "{{count}} 个重试测试"
205
205
  }
206
+ },
207
+ "statusDynamics": {
208
+ "title": "状态动态",
209
+ "status": {
210
+ "passed": "$t(statuses:passed, capitalize)",
211
+ "failed": "$t(statuses:failed, capitalize)",
212
+ "broken": "$t(statuses:broken, capitalize)",
213
+ "skipped": "$t(statuses:skipped, capitalize)",
214
+ "unknown": "$t(statuses:unknown, capitalize)"
215
+ },
216
+ "no-history": "$t(empty:no-history-results)",
217
+ "no-results": "$t(empty:no-results)",
218
+ "tooltips": {
219
+ "current": "最新报告 ({{timestamp, timestamp_long_no_seconds}})",
220
+ "history": "{{timestamp, timestamp_long_no_seconds}} 的报告"
221
+ },
222
+ "ticks": {
223
+ "current": "最新",
224
+ "history": "{{timestamp, timestamp_date}}"
225
+ }
206
226
  }
207
227
  },
208
228
  "transitions.description": {
@@ -67,6 +67,40 @@ export const waitForI18next = i18next
67
67
  i18next.services.formatter.add("capitalize", (value) => {
68
68
  return value.charAt(0).toLocaleUpperCase() + value.slice(1);
69
69
  });
70
+ i18next.services.formatter.add("timestamp_date", (value: number, lng, options) => {
71
+ const formatter = new Intl.DateTimeFormat(lng, {
72
+ ...options,
73
+ month: "numeric",
74
+ day: "numeric",
75
+ year: "numeric",
76
+ });
77
+ return formatter.format(value);
78
+ });
79
+ i18next.services.formatter.add("timestamp_long", (value: number, lng, options) => {
80
+ const formatter = new Intl.DateTimeFormat(lng, {
81
+ ...options,
82
+ month: "numeric",
83
+ day: "numeric",
84
+ year: "numeric",
85
+ hour: "numeric",
86
+ minute: "numeric",
87
+ second: "numeric",
88
+ hour12: false,
89
+ });
90
+ return formatter.format(value).replace(",", ` ${i18next.t("ui:at")}`);
91
+ });
92
+ i18next.services.formatter.add("timestamp_long_no_seconds", (value: number, lng, options) => {
93
+ const formatter = new Intl.DateTimeFormat(lng, {
94
+ ...options,
95
+ month: "numeric",
96
+ day: "numeric",
97
+ year: "numeric",
98
+ hour: "numeric",
99
+ minute: "numeric",
100
+ hour12: false,
101
+ });
102
+ return formatter.format(value).replace(",", ` ${i18next.t("ui:at")}`);
103
+ });
70
104
  });
71
105
 
72
106
  export const useI18n = (namespace: (typeof namespaces)[number]) => {
@@ -3,7 +3,12 @@ import { fetchReportJsonData } from "@allurereport/web-commons";
3
3
  import { signal } from "@preact/signals";
4
4
  import type { StoreSignalState } from "@/stores/types";
5
5
 
6
- export const timelineStore = signal<StoreSignalState<TestResult[]>>({
6
+ export type TimlineTr = Pick<
7
+ TestResult,
8
+ "id" | "name" | "status" | "flaky" | "hidden" | "labels" | "environment" | "start" | "stop" | "duration"
9
+ >;
10
+
11
+ export const timelineStore = signal<StoreSignalState<TimlineTr[]>>({
7
12
  loading: true,
8
13
  error: undefined,
9
14
  data: undefined,
@@ -17,7 +22,7 @@ export const fetchTimelineData = async () => {
17
22
  };
18
23
 
19
24
  try {
20
- const res = await fetchReportJsonData<TestResult[]>("widgets/timeline.json", { bustCache: true });
25
+ const res = await fetchReportJsonData<TimlineTr[]>("widgets/timeline.json", { bustCache: true });
21
26
 
22
27
  timelineStore.value = {
23
28
  data: res,
package/webpack.config.js CHANGED
@@ -14,6 +14,9 @@ const baseDir = dirname(fileURLToPath(import.meta.url));
14
14
 
15
15
  export default (env, argv) => {
16
16
  const devMode = argv?.mode === "development";
17
+ /**
18
+ * @type {import("webpack").Configuration}
19
+ */
17
20
  const config = {
18
21
  entry: "./src/index.tsx",
19
22
  output: {
@@ -21,7 +24,7 @@ export default (env, argv) => {
21
24
  filename: devMode ? "app.js" : "app-[fullhash].js",
22
25
  assetModuleFilename: "[name][ext]",
23
26
  },
24
- devtool: devMode ? "inline-source-map" : false,
27
+ devtool: devMode ? "eval-source-map" : false,
25
28
  optimization: {
26
29
  minimize: !devMode,
27
30
  minimizer: [
@@ -111,6 +114,14 @@ export default (env, argv) => {
111
114
  },
112
115
  };
113
116
 
117
+ if (devMode) {
118
+ // Get and use source maps from dependencies
119
+ config.module.rules.push({
120
+ test: /\.js$/i,
121
+ extractSourceMap: true,
122
+ });
123
+ }
124
+
114
125
  if (SINGLE_FILE_MODE) {
115
126
  config.plugins.push(
116
127
  new webpack.optimize.LimitChunkCountPlugin({