@zeesoft/i18n-verify 2.0.2 → 2.1.3

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 (39) hide show
  1. package/dist/driver/adapters/cypress.js +2 -1
  2. package/dist/driver/adapters/nightwatch.js +69 -4
  3. package/dist/driver/adapters/selenium.js +0 -4
  4. package/dist/driver/baseDriver.js +24 -0
  5. package/dist/index.js +10 -5
  6. package/dist/lib/i18n.js +125 -43
  7. package/dist/{utils → lib}/reports.js +48 -28
  8. package/dist/lib/validator/string.js +2 -2
  9. package/dist/template/report.html +1678 -0
  10. package/dist/utils/cache.js +15 -15
  11. package/dist/utils/constants.js +8 -5
  12. package/dist/utils/file.js +8 -4
  13. package/dist/utils/logs.js +34 -16
  14. package/dist/utils/objects/cacheData.js +14 -33
  15. package/dist/utils/objects/metaData.js +7 -26
  16. package/dist/utils/objects/reportData.js +0 -18
  17. package/dist/utils/objects/statData.js +43 -28
  18. package/dist/utils/objects/stringData.js +4 -7
  19. package/dist/utils/reportFactory/base.js +15 -7
  20. package/dist/utils/reportFactory/html/index.js +24 -9
  21. package/dist/utils/reportFactory/html/template/body.js +117 -0
  22. package/dist/utils/reportFactory/html/template/css.js +471 -409
  23. package/dist/utils/reportFactory/html/template/html.js +17 -112
  24. package/dist/utils/reportFactory/html/template/javascript/data.js +59 -1
  25. package/dist/utils/reportFactory/html/template/javascript/global.js +45 -0
  26. package/dist/utils/reportFactory/html/template/javascript/grid.js +54 -80
  27. package/dist/utils/reportFactory/html/template/javascript/index.js +9 -7
  28. package/dist/utils/reportFactory/html/template/javascript/insight.js +225 -201
  29. package/dist/utils/reportFactory/html/template/javascript/log.js +19 -0
  30. package/dist/utils/reportFactory/html/template/javascript/menuBar.js +40 -35
  31. package/dist/utils/reportFactory/html/template/javascript/overview.js +725 -533
  32. package/dist/utils/reportFactory/index.js +4 -6
  33. package/dist/utils/reportFactory/table.js +95 -0
  34. package/dist/utils/resource.js +10 -6
  35. package/dist/utils/runtime.js +23 -3
  36. package/dist/utils/scripts/postinstall.js +3 -2
  37. package/package.json +8 -3
  38. package/types/index.d.ts +46 -0
  39. package/dist/utils/reportsTable.js +0 -71
@@ -4,29 +4,44 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _config = _interopRequireDefault(require("../../../lib/config.js"));
8
+ var _reports = _interopRequireDefault(require("../../../lib/reports.js"));
7
9
  var _constants = require("../../constants.js");
8
10
  var _file = require("../../file.js");
9
- var _logs = _interopRequireDefault(require("../../logs.js"));
10
11
  var _base = _interopRequireDefault(require("../base.js"));
11
- var _css = require("./template/css.js");
12
- var _html = require("./template/html.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"));
13
15
  var _index = _interopRequireDefault(require("./template/javascript/index.js"));
16
+ var _path = require("path");
14
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
18
  class HtmlReport extends _base.default {
16
19
  constructor() {
17
20
  super(_constants.SUPPORTED_REPORT_TYPES.HTML);
18
21
  }
19
22
  buildContent() {
20
- const metaInfo = this.getMetaInfo();
21
- const script = (0, _index.default)(metaInfo);
22
- const style = (0, _css.getCssData)();
23
- const body = (0, _html.getBodyData)();
24
- return (0, _html.renderHtml)({
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)({
25
38
  appName: metaInfo.appName,
26
39
  reportTime: metaInfo.reportTime,
27
40
  body,
28
41
  script,
29
- style
42
+ style,
43
+ dataFilePaths,
44
+ logData
30
45
  });
31
46
  }
32
47
  write(path, name, data) {
@@ -0,0 +1,117 @@
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
+ }