@zeesoft/i18n-verify 2.1.4 → 2.1.7

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 (61) hide show
  1. package/dist/genrc.mjs +1 -0
  2. package/dist/i18n.mjs +1 -0
  3. package/dist/index.mjs +1 -0
  4. package/package.json +25 -17
  5. package/postinstall.js +28 -0
  6. package/readme.md +21 -1
  7. package/dist/driver/adapters/cypress.js +0 -161
  8. package/dist/driver/adapters/nightwatch.js +0 -160
  9. package/dist/driver/adapters/selenium.js +0 -90
  10. package/dist/driver/adapters/webdriver.io.js +0 -81
  11. package/dist/driver/baseDriver.js +0 -93
  12. package/dist/driver/factory.js +0 -27
  13. package/dist/index.js +0 -52
  14. package/dist/lib/config.js +0 -102
  15. package/dist/lib/i18n.js +0 -259
  16. package/dist/lib/reports.js +0 -140
  17. package/dist/lib/validator/base.js +0 -125
  18. package/dist/lib/validator/currency.js +0 -94
  19. package/dist/lib/validator/date.js +0 -72
  20. package/dist/lib/validator/datetime.js +0 -72
  21. package/dist/lib/validator/index.js +0 -156
  22. package/dist/lib/validator/number.js +0 -58
  23. package/dist/lib/validator/percentage.js +0 -78
  24. package/dist/lib/validator/string.js +0 -172
  25. package/dist/lib/validator/time.js +0 -72
  26. package/dist/template/report.html +0 -1678
  27. package/dist/utils/cache.js +0 -47
  28. package/dist/utils/common.js +0 -18
  29. package/dist/utils/configFile.js +0 -65
  30. package/dist/utils/constants.js +0 -148
  31. package/dist/utils/cypress.js +0 -120
  32. package/dist/utils/dateUtils/chronoNode.js +0 -52
  33. package/dist/utils/file.js +0 -61
  34. package/dist/utils/graphic.js +0 -57
  35. package/dist/utils/logs.js +0 -79
  36. package/dist/utils/objects/cacheData.js +0 -72
  37. package/dist/utils/objects/metaData.js +0 -29
  38. package/dist/utils/objects/reportData.js +0 -30
  39. package/dist/utils/objects/statData.js +0 -380
  40. package/dist/utils/objects/stringData.js +0 -64
  41. package/dist/utils/objects/stringInfo.js +0 -51
  42. package/dist/utils/regex.js +0 -8
  43. package/dist/utils/reportFactory/base.js +0 -59
  44. package/dist/utils/reportFactory/html/index.js +0 -51
  45. package/dist/utils/reportFactory/html/template/body.js +0 -117
  46. package/dist/utils/reportFactory/html/template/css.js +0 -476
  47. package/dist/utils/reportFactory/html/template/html.js +0 -63
  48. package/dist/utils/reportFactory/html/template/javascript/data.js +0 -66
  49. package/dist/utils/reportFactory/html/template/javascript/global.js +0 -45
  50. package/dist/utils/reportFactory/html/template/javascript/grid.js +0 -129
  51. package/dist/utils/reportFactory/html/template/javascript/index.js +0 -22
  52. package/dist/utils/reportFactory/html/template/javascript/insight.js +0 -248
  53. package/dist/utils/reportFactory/html/template/javascript/log.js +0 -19
  54. package/dist/utils/reportFactory/html/template/javascript/menuBar.js +0 -123
  55. package/dist/utils/reportFactory/html/template/javascript/overview.js +0 -818
  56. package/dist/utils/reportFactory/index.js +0 -36
  57. package/dist/utils/reportFactory/table.js +0 -95
  58. package/dist/utils/resource.js +0 -58
  59. package/dist/utils/runtime.js +0 -36
  60. package/dist/utils/scripts/genreport.js +0 -1
  61. package/dist/utils/scripts/postinstall.js +0 -22
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _config = _interopRequireDefault(require("../../../lib/config.js"));
8
- var _reports = _interopRequireDefault(require("../../../lib/reports.js"));
9
- var _constants = require("../../constants.js");
10
- var _file = require("../../file.js");
11
- var _base = _interopRequireDefault(require("../base.js"));
12
- var _body = _interopRequireDefault(require("./template/body.js"));
13
- var _css = _interopRequireDefault(require("./template/css.js"));
14
- var _html = _interopRequireDefault(require("./template/html.js"));
15
- var _index = _interopRequireDefault(require("./template/javascript/index.js"));
16
- var _path = require("path");
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
- class HtmlReport extends _base.default {
19
- constructor() {
20
- super(_constants.SUPPORTED_REPORT_TYPES.HTML);
21
- }
22
- buildContent() {
23
- const metaInfo = this.getMetaInfo(),
24
- script = (0, _index.default)(metaInfo),
25
- style = (0, _css.default)(),
26
- body = (0, _body.default)(),
27
- dataFilePaths = [],
28
- logDataFilePath = (0, _file.joinPaths)(_reports.default.getReportPath(), 'logs', 'log');
29
- let logData = '';
30
- (0, _file.getDirContents)(_reports.default.getReportPath()).forEach(file => file !== metaInfo.defaultLocale && (0, _file.fileExists)((0, _file.joinPaths)(_reports.default.getReportPath(), file, _constants.CACHE_FILE_NAME)) && dataFilePaths.push((0, _file.joinPaths)(file, _constants.CACHE_FILE_NAME).replace(/\\/g, '/')));
31
- if ((0, _file.fileExists)(logDataFilePath)) {
32
- // handle characters escapes and redact file paths and replace productName/timestamp
33
- const paths = [metaInfo.appName, ..._config.default.getL10nReportsPath().split(/[\\/]+/g)];
34
- paths.push(_reports.default.getReportTimeStamp());
35
- logData = (0, _file.getFileContent)(logDataFilePath).replace(new RegExp(_reports.default.getReportPath().replace(/\\/g, '\\\\'), 'g'), (0, _file.joinPaths)(...paths)).replace(/\\/g, '\\\\').replace(/`/g, '\\`');
36
- }
37
- return (0, _html.default)({
38
- appName: metaInfo.appName,
39
- reportTime: metaInfo.reportTime,
40
- body,
41
- script,
42
- style,
43
- dataFilePaths,
44
- logData
45
- });
46
- }
47
- write(path, name, data) {
48
- (0, _file.saveToFile)((0, _file.joinPaths)(path, `${name}.html`), data, 'utf-8');
49
- }
50
- }
51
- exports.default = HtmlReport;
@@ -1,117 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = getBodyData;
7
- function getBodyData() {
8
- return `<header><div class="logo">zQA Report</div></header>
9
- <main>
10
- <div class="sidebar">
11
- <ul class="menu" id="menu">
12
- <li class="menu-item" data-page="overview">
13
- <a href="#">Overview</a>
14
- </li>
15
- <li class="menu-item" data-page="log">
16
- <a href="#">View Log</a>
17
- </li>
18
- <li class="menu-item has-submenu" data-page="insights">
19
- <a href="#" data-page="insights">Insights</a>
20
- <ul class="submenu"></ul>
21
- </li>
22
- </ul>
23
- <div class="footer"></div>
24
- </div>
25
- <div class="content-wrapper">
26
- <div id="overview" class="content">
27
- <div class="overall-quality card">
28
- <span class="title">Overall I18n Coverage</span>
29
- <div class="section">
30
- <div class="block">
31
- <article>
32
- <p class="desc">
33
- zI18n-Verify report provides a comprehensive information
34
- about the I18n and L10n quailty of your application.
35
- </p>
36
- <ul class="items">
37
- <li>
38
- <h4>Reviewed:</h4>
39
- <p class="detail">
40
- Total strings which are captured and processed by
41
- zI18n-Verify.
42
- </p>
43
- </li>
44
- <li>
45
- <h4>Internationlized:</h4>
46
- <p class="detail">
47
- Different types of value like string, number, date-time
48
- which are properly Internationalized.
49
- </p>
50
- </li>
51
- <li>
52
- <h4>Not Internationalized:</h4>
53
- <p class="detail">
54
- Values which are not Internationalized. Also includes
55
- Partially Localized strings and Encoding Issues.
56
- </p>
57
- </li>
58
- <li>
59
- <h4>Skipped:</h4>
60
- <p class="detail">
61
- Values which are skipped from processing because they
62
- are listed in DNT / Ignored lists or contains Auto
63
- Ignored pattern / User input pattern.
64
- </p>
65
- </li>
66
- </ul>
67
- </article>
68
- </div>
69
- <div class="block">
70
- <div class="graph"></div>
71
- </div>
72
- </div>
73
- </div>
74
- <div class="string-quality card">
75
- <span class="title">String Coverage</span>
76
- <div class="graph"></div>
77
- </div>
78
- <div class="skipped-items card">
79
- <span class="title">Skipped Items</span>
80
- <div class="graph"></div>
81
- </div>
82
- <div class="number-quality card">
83
- <span class="title">Number Coverage</span>
84
- <div class="graph"></div>
85
- </div>
86
- <div class="datetime-quality card">
87
- <span class="title">DateTime Coverage</span>
88
- <div class="graph"></div>
89
- </div>
90
- </div>
91
- <div id="log" class="content">
92
- <span class="title">Runtime log</span>
93
- <div class="log-content"><pre></pre></div>
94
- </div>
95
- <div id="insights" class="content">
96
- <div class="cards">
97
- <span class="title">Locale Quality</span>
98
- <div class="holder"></div>
99
- </div>
100
- </div>
101
- <div id="locale" class="content">
102
- <span class="title">Locale Quality</span>
103
- <div class="coverage-info">
104
- <table class="row-border hover order-column stripe"></table>
105
- </div>
106
- <div id="imageViewer" class="image-viewer">
107
- <span class="close-button" onclick="closeImageViewer()"
108
- >&times;</span
109
- >
110
- <div class="image-container">
111
- <img id="imageView" src="" alt="Image" />
112
- </div>
113
- </div>
114
- </div>
115
- </div>
116
- </main>`;
117
- }
@@ -1,476 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = getCssData;
7
- function getCssData() {
8
- return `* {
9
- user-select: none;
10
- }
11
-
12
- body {
13
- margin: 0;
14
- display: flex;
15
- flex-direction: column;
16
- font-family: Arial, sans-serif;
17
- font-family: 'Helvetica Neue', Arial, sans-serif;
18
- -webkit-font-smoothing: antialiased; /* Webkit-based browsers */
19
- -moz-osx-font-smoothing: grayscale; /* Firefox on OS X */
20
- font-smooth: always; /* Non-standard, some browsers */
21
- }
22
-
23
- header {
24
- background-color: #333;
25
- height: 5rem;
26
- }
27
-
28
- main {
29
- display: flex;
30
- direction: column;
31
- width: 100%;
32
- height: calc(100vh - 5rem);
33
- }
34
-
35
- .sidebar {
36
- width: 16rem;
37
- height: 100%;
38
- background-color: #333;
39
- color: #fff;
40
- padding: 20px;
41
- box-sizing: border-box;
42
- float: left;
43
- }
44
-
45
- .logo {
46
- font-size: 2rem;
47
- letter-spacing: 0.1rem;
48
- color: #14cf96;
49
- font-weight: bold;
50
- padding-top: 1.8rem;
51
- padding-left: 2rem;
52
- }
53
-
54
- .menu {
55
- list-style-type: none;
56
- padding: 0;
57
- margin: 0;
58
- }
59
-
60
- .menu-item {
61
- margin-bottom: 10px;
62
- }
63
-
64
- .menu-item a {
65
- color: #fff;
66
- text-decoration: none;
67
- display: block;
68
- padding: 10px;
69
- border-radius: 5px;
70
- font-size: 1.05rem;
71
- }
72
-
73
- .menu-item a:hover {
74
- background-color: #555;
75
- }
76
-
77
- .submenu {
78
- display: none;
79
- list-style-type: none;
80
- padding-left: 20px;
81
- }
82
-
83
- .menu-item.has-submenu > a::after {
84
- content: '⯆';
85
- float: right;
86
- margin-left: 5px;
87
- }
88
-
89
- .menu-item.has-submenu.selected > a::after {
90
- content: '⯅';
91
- float: right;
92
- margin-left: 5px;
93
- }
94
-
95
- .menu-item.selected > a {
96
- background-color: #555;
97
- }
98
-
99
- .submenu .sub-menu-item {
100
- margin: 3px auto;
101
- }
102
-
103
- .submenu .sub-menu-item a:hover {
104
- background-color: #777;
105
- }
106
-
107
- .submenu .sub-menu-item.selected a {
108
- background-color: #555 !important;
109
- }
110
-
111
- .submenu.active {
112
- display: block !important;
113
- }
114
-
115
- .view-screenshot-image {
116
- width: 100px;
117
- height: 30px;
118
- content: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjxzdmcgZmlsbD0iIzAwMDAwMCIgaGVpZ2h0PSI4MDBweCIgd2lkdGg9IjgwMHB4IiB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIA0KCSB2aWV3Qm94PSIwIDAgNDkwIDQ5MCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBkPSJNMjQ1LjIwNCwxMDEuMjY3QzY3LjE3MSwxMDEuMjY3LDAsMjQ1LDAsMjQ1czY2Ljc2MywxNDMuNzMzLDI0NC43OTYsMTQzLjczM0M0MjIuODI5LDM4OC43MzMsNDkwLDI0NSw0OTAsMjQ1DQoJCVM0MjMuMjM4LDEwMS4yNjcsMjQ1LjIwNCwxMDEuMjY3eiBNMjQ0Ljc5NiwzNzMuNDIxYy0xNDYuMzkzLDAtMjEyLjM2Ny0xMDEuMDUzLTIyNy41MDYtMTI4LjMzMw0KCQljMTUuMjQ5LTI2Ljc5Niw4Mi43MzMtMTI4LjUwOCwyMjcuOTE0LTEyOC41MDhjMTQ2LjUxNCwwLDIxMi40NzUsMTAxLjIyLDIyNy41NDMsMTI4LjQNCgkJQzQ1Ny41NzgsMjcyLjIwMywzOTEuMzEzLDM3My40MjEsMjQ0Ljc5NiwzNzMuNDIxeiIvPg0KCTxwYXRoIGQ9Ik0yNDUuMDAzLDE0Ni4xMjRjLTU0LjUyMSwwLTk4Ljg4MSw0NC4zNTItOTguODgxLDk4Ljg3M2MwLDU0LjUyMSw0NC4zNiw5OC44ODEsOTguODgxLDk4Ljg4MXM5OC44NzMtNDQuMzYsOTguODczLTk4Ljg4MQ0KCQlDMzQzLjg3NiwxOTAuNDc3LDI5OS41MjQsMTQ2LjEyNCwyNDUuMDAzLDE0Ni4xMjR6IE0yNDUuMDAzLDMyOC41NjZjLTQ2LjA4LDAtODMuNTY4LTM3LjQ4OS04My41NjgtODMuNTY4DQoJCWMwLTQ2LjA3MiwzNy40ODktODMuNTYxLDgzLjU2OC04My41NjFjNDYuMDcyLDAsODMuNTYxLDM3LjQ4OSw4My41NjEsODMuNTYxQzMyOC41NjQsMjkxLjA3NywyOTEuMDc1LDMyOC41NjYsMjQ1LjAwMywzMjguNTY2eiIvPg0KCTxwYXRoIGQ9Ik0yNDUuMDAzLDE3NS41ODNjLTM4LjI4MSwwLTY5LjQyMiwzMS4xNDEtNjkuNDIyLDY5LjQxNWMwLDM4LjI3NCwzMS4xNDEsNjkuNDE1LDY5LjQyMiw2OS40MTUNCgkJYzM4LjI3NCwwLDY5LjQxNS0zMS4xNDEsNjkuNDE1LTY5LjQxNUMzMTQuNDE3LDIwNi43MjQsMjgzLjI3NywxNzUuNTgzLDI0NS4wMDMsMTc1LjU4M3ogTTI0NS4wMDMsMjk5LjENCgkJYy0yOS44MzMsMC01NC4xMS0yNC4yNy01NC4xMS01NC4xMDJjMC0yOS44MzIsMjQuMjc3LTU0LjEwMiw1NC4xMS01NC4xMDJzNTQuMTAyLDI0LjI3LDU0LjEwMiw1NC4xMDINCgkJQzI5OS4xMDUsMjc0LjgzLDI3NC44MzUsMjk5LjEsMjQ1LjAwMywyOTkuMXoiLz4NCgk8cGF0aCBkPSJNMjQ1LjAwMywyMDYuNjc5Yy0yMS4xMywwLTM4LjMyNiwxNy4xODktMzguMzI2LDM4LjMxOWMwLDIxLjEyOSwxNy4xOTcsMzguMzI2LDM4LjMyNiwzOC4zMjZzMzguMzE5LTE3LjE5NywzOC4zMTktMzguMzI2DQoJCUMyODMuMzIxLDIyMy44NjgsMjY2LjEzMiwyMDYuNjc5LDI0NS4wMDMsMjA2LjY3OXogTTI0NS4wMDMsMjY4LjAxMWMtMTIuNjg4LDAtMjMuMDE0LTEwLjMyNi0yMy4wMTQtMjMuMDE0DQoJCWMwLTEyLjY4OCwxMC4zMjUtMjMuMDA2LDIzLjAxNC0yMy4wMDZjMTIuNjg4LDAsMjMuMDA2LDEwLjMxOCwyMy4wMDYsMjMuMDA2QzI2OC4wMDksMjU3LjY4NiwyNTcuNjkxLDI2OC4wMTEsMjQ1LjAwMywyNjguMDExeiIvPg0KPC9nPg0KPC9zdmc+);
119
- }
120
-
121
- .content-wrapper {
122
- padding: 1rem;
123
- float: left;
124
- width: calc(100% - 16rem);
125
- background-color: #f4f4f4;
126
- overflow: hidden;
127
- }
128
-
129
- .content {
130
- display: none;
131
- }
132
-
133
- .content .title {
134
- font-size: 1rem;
135
- color: #080404e2;
136
- font-weight: 600;
137
- }
138
-
139
- .content .title::after {
140
- content: ':';
141
- }
142
-
143
- .content.active {
144
- display: flex !important;
145
- flex-direction: column;
146
- gap: 0.9rem;
147
- flex-wrap: wrap;
148
- transition: all 2s ease-in-out;
149
- }
150
-
151
- .sidebar .footer {
152
- bottom: 5px;
153
- position: absolute;
154
- font-size: 12.4px;
155
- color: #14cf96;
156
- font-family: system-ui;
157
- }
158
-
159
- #overview {
160
- flex-direction: row;
161
- justify-content: space-between;
162
- }
163
-
164
- #overview .card {
165
- display: flex;
166
- flex-direction: column;
167
- width: 25rem;
168
- height: 12.5rem;
169
- border: 1px solid #ddd;
170
- box-shadow: 0 22px 35px -16px rgba(0, 0, 0, 0.3);
171
- border-radius: 5px;
172
- background: white;
173
- padding: 1rem;
174
- }
175
-
176
- #overview .overall-quality {
177
- height: 20rem;
178
- flex-basis: 100%;
179
- line-height: 14px;
180
- }
181
-
182
- #overview .overall-quality .section {
183
- display: flex;
184
- flex-direction: row;
185
- }
186
-
187
- #overview .overall-quality .section .block {
188
- width: 50%;
189
- }
190
-
191
- #overview .overall-quality .section .block article {
192
- padding: 5px;
193
- }
194
-
195
- #overview .overall-quality .section .block article p.desc {
196
- font-size: 0.9em;
197
- }
198
-
199
- #overview .overall-quality .section .block article .items li {
200
- font-size: 0.87em;
201
- }
202
-
203
- #overview .overall-quality .section .block article .items li .detail {
204
- margin-top: -10px;
205
- }
206
-
207
- #overview .overall-quality .section .block .graph {
208
- margin-top: 1.5em;
209
- }
210
-
211
- #overview .string-quality,
212
- #overview .number-quality,
213
- #overview .datetime-quality,
214
- #overview .skipped-items {
215
- flex-basis: 45%;
216
- }
217
-
218
- #overview .string-quality .graph,
219
- #overview .number-quality .graph,
220
- #overview .datetime-quality .graph,
221
- #overview .skipped-items .graph {
222
- align-self: center;
223
- }
224
-
225
- #overview .string-quality .graph {
226
- margin-left: 4rem;
227
- }
228
-
229
- #overview .number-quality.card,
230
- #overview .datetime-quality.card {
231
- height: 13rem;
232
- }
233
-
234
- #overview .number-quality .graph,
235
- #overview .datetime-quality .graph {
236
- margin-top: -0.9rem;
237
- margin-left: 4.5rem;
238
- }
239
-
240
- #insights .cards {
241
- display: flex;
242
- flex-direction: column;
243
- gap: 1.5rem;
244
- }
245
-
246
- #insights .cards .holder {
247
- display: flex;
248
- flex-direction: row;
249
- gap: 1.5rem;
250
- flex-wrap: wrap;
251
- }
252
-
253
- #insights .cards .card {
254
- display: flex;
255
- flex-direction: column;
256
- width: 20rem;
257
- min-height: 10rem;
258
- border: 1px solid #ddd;
259
- box-shadow: 0 22px 35px -16px rgba(0, 0, 0, 0.3);
260
- border-radius: 5px;
261
- background: white;
262
- }
263
-
264
- #insights .cards .card:hover {
265
- transform: scale(1.015);
266
- box-shadow: 0 22px 35px -16px #07ff7d33;
267
- cursor: pointer;
268
- transition: all 0.1s ease-in-out;
269
- }
270
-
271
- #insights .cards .card .title {
272
- height: 2.5rem;
273
- font-size: 1rem;
274
- padding-top: 1rem;
275
- font-weight: 500;
276
- width: calc(100% - 1rem);
277
- background: #0c5ad9d6;
278
- border-top-left-radius: 5px;
279
- border-top-right-radius: 5px;
280
- padding-left: 1rem;
281
- color: white;
282
- }
283
-
284
- #insights .cards .card .title::after {
285
- content: '';
286
- }
287
-
288
- #insights .cards .card .card-content {
289
- display: flex;
290
- flex-direction: column;
291
- gap: 1rem;
292
- padding: 1rem;
293
- }
294
-
295
- #insights .cards .card .status-bar {
296
- display: flex;
297
- flex-direction: column;
298
- gap: 0.8rem;
299
- }
300
-
301
- #insights .cards .card .status-bar .bar-container .name {
302
- font-size: 0.78rem;
303
- -webkit-font-smoothing: antialiased;
304
- -moz-osx-font-smoothing: grayscale;
305
- }
306
-
307
- #insights .cards .card .status-bar .bar-container .name::after {
308
- content: ':';
309
- }
310
-
311
- #insights .cards .card .status-bar .bar-container .bar-holder {
312
- width: 100%;
313
- height: 10px;
314
- border: 1px solid #00000038;
315
- border-radius: 2px;
316
- }
317
-
318
- #insights .cards .card .status-bar .bar-container .bar-holder .bar {
319
- height: 100%;
320
- font-size: 0.63rem;
321
- text-align: right;
322
- color: rgb(0, 0, 0);
323
- }
324
-
325
- .bar.--green {
326
- background-color: #1dedaf;
327
- }
328
-
329
- .bar.--red {
330
- background-color: #fe3e3e;
331
- }
332
-
333
- .bar.--yellow {
334
- background-color: #faef1f;
335
- }
336
-
337
- .bar.--blue {
338
- background-color: #77c2ff;
339
- }
340
-
341
- #insights .cards .card .stat {
342
- display: flex;
343
- flex-direction: column;
344
- gap: 0.3rem;
345
- border: 0.5px solid #00000012;
346
- border-radius: 6px;
347
- }
348
-
349
- #insights .cards .card .stat table td {
350
- font-size: 0.78rem;
351
- -webkit-font-smoothing: antialiased;
352
- -moz-osx-font-smoothing: grayscale;
353
- }
354
-
355
- #insights .cards .card .stat table td.name {
356
- width: 70%;
357
- }
358
-
359
- #insights .cards .card .stat table td.value::before {
360
- content: ': ';
361
- }
362
-
363
- #locale {
364
- background: white;
365
- padding: 12px;
366
- border-radius: 5px;
367
- padding-top: 20px;
368
- }
369
-
370
- #locale .title {
371
- content: ':';
372
- }
373
-
374
- #locale .coverage-info {
375
- margin-top: 1rem;
376
- width: 100%;
377
- height: 80vh;
378
- padding-right: 1rem;
379
- padding-left: 0.1rem;
380
- }
381
-
382
- #locale table thead th select.filter {
383
- margin-left: 1rem;
384
- max-width: 8rem;
385
- text-overflow: ellipsis;
386
- }
387
-
388
- #locale .image-viewer {
389
- display: none;
390
- position: fixed;
391
- z-index: 9999;
392
- top: 0;
393
- left: 0;
394
- width: 100%;
395
- height: 100%;
396
- background-color: rgba(0, 0, 0, 0.8);
397
- text-align: center;
398
- }
399
-
400
- #locale .image-container {
401
- position: relative;
402
- top: 50%;
403
- transform: translateY(-50%);
404
- display: inline-block;
405
- }
406
-
407
- #locale .image-viewer img {
408
- max-width: 90%;
409
- max-height: 90%;
410
- }
411
-
412
- #locale .close-button {
413
- position: absolute;
414
- top: 0.5rem;
415
- right: 1rem;
416
- color: #ffffffbf;
417
- font-size: 3.1rem;
418
- cursor: pointer;
419
- }
420
-
421
- #locale .close-button:hover {
422
- color: white;
423
- }
424
-
425
- #locale table tbody td {
426
- font-size: 0.9em;
427
- }
428
-
429
- #locale table td .view-screenshot-btn {
430
- color: blue;
431
- }
432
-
433
- .project-info {
434
- font-size: 1rem;
435
- color: #90a3a9;
436
- }
437
-
438
- .project-info .time {
439
- float: right;
440
- position: relative;
441
- top: 1rem;
442
- margin-right: 0.5rem;
443
- }
444
-
445
- @media (max-width: 768px) {
446
- .sidebar {
447
- width: 16rem;
448
- padding: 10px;
449
- }
450
- }
451
-
452
- .--hidden {
453
- display: none;
454
- visibility: hidden;
455
- }
456
-
457
- #log .log-content {
458
- width: 98%;
459
- height: 82vh;
460
- background: white;
461
- border-radius: 3px;
462
- overflow: hidden;
463
- padding: 1em;
464
- }
465
-
466
- #log .log-content pre {
467
- height: 100%;
468
- white-space: pre-line;
469
- word-break: break-all;
470
- padding: 0;
471
- margin: 0;
472
- width: 100%;
473
- overflow: hidden;
474
- overflow-y: auto;
475
- }`;
476
- }
@@ -1,63 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = renderHtml;
7
- function renderHtml({
8
- appName,
9
- reportTime,
10
- script,
11
- style,
12
- body,
13
- dataFilePaths = [],
14
- logData
15
- }) {
16
- return `<!DOCTYPE html>
17
- <html lang="en">
18
- <head>
19
- <meta charset="UTF-8" />
20
- <meta name="charset" content="charset='UTF-8'" />
21
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
22
- <meta name="company" content="Zeesoft" />
23
- <meta name="author" content="Jitendra Maheshwari" />
24
- <meta name="email" content="jm@zeesoft.com" />
25
- <meta
26
- name="description"
27
- content="I18n verification report"
28
- />
29
- <title>${appName} - I18n Verification Report | ${reportTime}</title>
30
- <!-- 3rd party dependecies -->
31
- <link
32
- rel="stylesheet"
33
- href="https://cdn.datatables.net/2.0.3/css/dataTables.dataTables.min.css"
34
- />
35
- ${dataFilePaths.map(v => `<script
36
- src="${v}"
37
- type="text/javascript">
38
- </script>`).join('')}
39
- ${logData ? `<script type="text/javascript" async/>window.logData = \`${logData}\`;</script>` : ''}
40
- <script
41
- src="https://code.jquery.com/jquery-3.7.1.slim.min.js"
42
- integrity="sha256-kmHvs0B+OpCW5GVHUNjv9rOmY0IvSIRcf7zGUDTDQM8="
43
- crossorigin="anonymous"
44
- defer
45
- ></script>
46
- <script src="https://cdn.jsdelivr.net/npm/apexcharts" defer></script>
47
- <script
48
- src="https://cdn.datatables.net/2.0.3/js/dataTables.min.js"
49
- defer
50
- ></script>
51
- <style>
52
- ${style}
53
- </style>
54
- </head>
55
- <body>
56
- ${body}
57
- </body>
58
- <script type="text/javascript" defer>
59
- ${script}
60
- </script>
61
- </html>
62
- `;
63
- }