testeranto 0.94.0 → 0.110.0
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.
- package/README.md +1 -0
- package/bundle.js +80 -33
- package/dist/common/{src/Init.js → Init.js} +28 -0
- package/dist/common/{src/PM → PM}/main.js +272 -111
- package/dist/common/{src/PM → PM}/node.js +20 -5
- package/dist/common/{src/PM → PM}/web.js +19 -4
- package/dist/common/ReportServer.js +22 -0
- package/dist/common/{src/SubPackages → SubPackages}/react/jsx/index.js +0 -12
- package/dist/common/{src/SubPackages → SubPackages}/react/jsx/node.js +1 -6
- package/dist/common/{src/SubPackages → SubPackages}/react-dom/component/node.js +3 -16
- package/dist/common/{src/SubPackages → SubPackages}/react-dom/component/web.js +3 -3
- package/dist/common/{src/SubPackages → SubPackages}/react-dom/jsx/node.js +1 -1
- package/dist/common/{src/SubPackages → SubPackages}/react-dom/jsx/web.js +41 -30
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/MemoExoticComponent/node.js +17 -7
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/interface.js +17 -7
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/fc/node.js +17 -7
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/fc/web.js +17 -7
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx/index.js +18 -14
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/index.js +17 -7
- package/dist/common/build.js +222 -0
- package/dist/common/{src/defaultConfig.js → defaultConfig.js} +1 -0
- package/dist/common/esbuildConfigs/eslint-formatter-testeranto.js +6 -0
- package/dist/common/esbuildConfigs/inputFilesPlugin.js +27 -0
- package/dist/common/{src/esbuildConfigs → esbuildConfigs}/node.js +3 -14
- package/dist/common/{src/esbuildConfigs → esbuildConfigs}/web.js +3 -14
- package/dist/common/{src/init-docs.js → init-docs.js} +20 -10
- package/dist/common/{src/lib → lib}/abstractBase.js +20 -92
- package/dist/common/{src/lib → lib}/basebuilder.js +23 -10
- package/dist/common/{src/lib → lib}/classBuilder.js +1 -3
- package/dist/common/{src/lib → lib}/core.js +26 -10
- package/dist/common/{src/lib → lib}/index.js +0 -1
- package/dist/common/run.js +297 -0
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/common/utils.js +43 -0
- package/dist/module/Footer.js +4 -0
- package/dist/module/Init.js +63 -0
- package/dist/module/{src/PM → PM}/main.js +253 -102
- package/dist/module/{src/PM → PM}/node.js +20 -5
- package/dist/module/{src/PM → PM}/web.js +19 -4
- package/dist/module/ReportClient.js +97 -0
- package/dist/module/ReportServer.js +17 -0
- package/dist/module/SubPackages/react/jsx/index.js +15 -0
- package/dist/module/{src/SubPackages → SubPackages}/react/jsx/node.js +1 -6
- package/dist/module/{src/SubPackages → SubPackages}/react-dom/component/node.js +3 -16
- package/dist/module/{src/SubPackages → SubPackages}/react-dom/component/web.js +3 -3
- package/dist/module/{src/SubPackages → SubPackages}/react-dom/jsx/node.js +3 -3
- package/dist/module/{src/SubPackages → SubPackages}/react-dom/jsx/web.js +24 -23
- package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx/index.js +1 -7
- package/dist/module/TestReport.js +91 -0
- package/dist/module/build.js +184 -0
- package/dist/module/{src/defaultConfig.js → defaultConfig.js} +1 -0
- package/dist/module/esbuildConfigs/eslint-formatter-testeranto.js +3 -0
- package/dist/module/esbuildConfigs/inputFilesPlugin.js +22 -0
- package/dist/module/{src/esbuildConfigs → esbuildConfigs}/node.js +3 -14
- package/dist/module/{src/esbuildConfigs → esbuildConfigs}/web.js +3 -14
- package/dist/module/{src/init-docs.js → init-docs.js} +1 -1
- package/dist/module/{src/lib → lib}/abstractBase.js +20 -92
- package/dist/module/{src/lib → lib}/basebuilder.js +23 -10
- package/dist/module/{src/lib → lib}/classBuilder.js +1 -3
- package/dist/module/{src/lib → lib}/core.js +26 -10
- package/dist/module/{src/lib → lib}/index.js +0 -1
- package/dist/module/run.js +259 -0
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/module/utils.js +29 -0
- package/dist/prebuild/ReportClient.css +11367 -0
- package/dist/prebuild/ReportClient.js +23641 -0
- package/dist/prebuild/ReportServer.mjs +16 -0
- package/dist/prebuild/TestReport.css +11367 -0
- package/dist/prebuild/TestReport.js +27484 -0
- package/dist/prebuild/build.mjs +376 -0
- package/dist/prebuild/esbuildConfigs/eslint-formatter-testeranto.mjs +9 -0
- package/dist/prebuild/init-docs.mjs +64 -8
- package/dist/prebuild/{run-tests.mjs → run.mjs} +501 -182
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/Node.d.ts +12 -0
- package/dist/types/{src/PM → PM}/index.d.ts +11 -3
- package/dist/types/{src/PM → PM}/main.d.ts +24 -15
- package/dist/types/{src/PM → PM}/node.d.ts +11 -6
- package/dist/types/{src/PM → PM}/web.d.ts +11 -7
- package/dist/types/SubPackages/react/component/node.d.ts +7 -0
- package/dist/types/SubPackages/react/component/web.d.ts +7 -0
- package/dist/types/SubPackages/react/jsx/index.d.ts +12 -0
- package/dist/types/SubPackages/react/jsx/node.d.ts +4 -0
- package/dist/types/SubPackages/react/jsx/web.d.ts +4 -0
- package/dist/types/SubPackages/react-dom/component/node.d.ts +11 -0
- package/dist/types/SubPackages/react-dom/component/web.d.ts +20 -0
- package/dist/types/SubPackages/react-dom/jsx/index.d.ts +6 -0
- package/dist/types/SubPackages/react-dom/jsx/node.d.ts +7 -0
- package/dist/types/SubPackages/react-dom/jsx/web.d.ts +5 -0
- package/dist/types/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +6 -0
- package/dist/types/SubPackages/react-test-renderer/component/index.d.ts +13 -0
- package/dist/types/SubPackages/react-test-renderer/component/node.d.ts +4 -0
- package/dist/types/SubPackages/react-test-renderer/component/web.d.ts +4 -0
- package/dist/types/SubPackages/react-test-renderer/fc/node.d.ts +8 -0
- package/dist/types/SubPackages/react-test-renderer/fc/web.d.ts +9 -0
- package/dist/types/SubPackages/react-test-renderer/jsx/index.d.ts +16 -0
- package/dist/types/SubPackages/react-test-renderer/jsx/node.d.ts +9 -0
- package/dist/types/SubPackages/react-test-renderer/jsx/web.d.ts +9 -0
- package/dist/types/SubPackages/react-test-renderer/jsx-promised/index.d.ts +15 -0
- package/dist/types/SubPackages/react-test-renderer/jsx-promised/node.d.ts +5 -0
- package/dist/types/SubPackages/react-test-renderer/jsx-promised/web.d.ts +5 -0
- package/dist/types/Types.d.ts +61 -0
- package/dist/types/Web.d.ts +9 -0
- package/dist/types/defaultConfig.d.ts +3 -0
- package/dist/types/esbuildConfigs/eslint-formatter-testeranto.d.ts +2 -0
- package/dist/types/{src/esbuildConfigs → esbuildConfigs}/index.d.ts +1 -1
- package/dist/types/{src/esbuildConfigs → esbuildConfigs}/inputFilesPlugin.d.ts +0 -1
- package/dist/types/{src/esbuildConfigs → esbuildConfigs}/node.d.ts +1 -1
- package/dist/types/{src/esbuildConfigs → esbuildConfigs}/web.d.ts +1 -1
- package/dist/types/lib/abstractBase.d.ts +110 -0
- package/dist/types/lib/basebuilder.d.ts +27 -0
- package/dist/types/lib/classBuilder.d.ts +7 -0
- package/dist/types/lib/core.d.ts +7 -0
- package/dist/types/lib/index.d.ts +83 -0
- package/dist/types/lib/types.d.ts +14 -0
- package/dist/types/run.d.ts +1 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/utils.d.ts +9 -0
- package/package.json +50 -39
- package/src/Footer.tsx +4 -0
- package/src/Init.ts +48 -0
- package/src/Node.ts +23 -17
- package/src/PM/index.ts +13 -9
- package/src/PM/main.ts +337 -139
- package/src/PM/node.ts +43 -8
- package/src/PM/web.ts +34 -6
- package/src/ReportClient.tsx +155 -0
- package/src/ReportServer.ts +21 -0
- package/src/SubPackages/react/component/node.ts +68 -24
- package/src/SubPackages/react/component/web.ts +68 -25
- package/src/SubPackages/react/jsx/index.ts +39 -18
- package/src/SubPackages/react/jsx/node.ts +23 -10
- package/src/SubPackages/react/jsx/web.ts +27 -14
- package/src/SubPackages/react-dom/component/node.ts +42 -50
- package/src/SubPackages/react-dom/component/web.ts +28 -10
- package/src/SubPackages/react-dom/jsx/node.ts +54 -56
- package/src/SubPackages/react-dom/jsx/web.ts +55 -42
- package/src/SubPackages/react-test-renderer/MemoExoticComponent/node.ts +23 -7
- package/src/SubPackages/react-test-renderer/component/index.ts +38 -5
- package/src/SubPackages/react-test-renderer/component/node.ts +24 -5
- package/src/SubPackages/react-test-renderer/component/web.ts +22 -5
- package/src/SubPackages/react-test-renderer/fc/node.ts +41 -7
- package/src/SubPackages/react-test-renderer/fc/web.ts +43 -11
- package/src/SubPackages/react-test-renderer/jsx/index.ts +39 -16
- package/src/SubPackages/react-test-renderer/jsx/node.ts +22 -5
- package/src/SubPackages/react-test-renderer/jsx/web.ts +22 -5
- package/src/SubPackages/react-test-renderer/jsx-promised/index.ts +39 -6
- package/src/SubPackages/react-test-renderer/jsx-promised/node.ts +27 -10
- package/src/SubPackages/react-test-renderer/jsx-promised/web.ts +26 -12
- package/src/TestReport.tsx +176 -0
- package/src/Types.ts +131 -129
- package/src/Web.ts +24 -18
- package/src/build.ts +240 -0
- package/src/defaultConfig.ts +2 -1
- package/src/esbuildConfigs/eslint-formatter-testeranto.ts +5 -0
- package/src/esbuildConfigs/featuresPlugin.ts +0 -1
- package/src/esbuildConfigs/index.ts +1 -1
- package/src/esbuildConfigs/inputFilesPlugin.ts +2 -114
- package/src/esbuildConfigs/node.ts +7 -19
- package/src/esbuildConfigs/web.ts +6 -21
- package/src/init-docs.ts +2 -1
- package/src/lib/abstractBase.ts +140 -195
- package/src/lib/basebuilder.ts +57 -45
- package/src/lib/classBuilder.ts +15 -15
- package/src/lib/core.ts +44 -35
- package/src/lib/index.ts +47 -98
- package/src/lib/readme.md +12 -0
- package/src/lib/types.ts +40 -231
- package/src/run.ts +398 -0
- package/src/style.css +8 -0
- package/src/utils.ts +74 -2
- package/tsc.log +106 -0
- package/Bundle.Dockerfile +0 -52
- package/bin/init-docs.js +0 -24
- package/dist/common/dist/module/src/Init.js +0 -40
- package/dist/common/src/Aider.js +0 -143
- package/dist/common/src/Project.js +0 -227
- package/dist/common/src/Puppeteer.js +0 -111
- package/dist/common/src/SubPackages/puppeteer.js +0 -21
- package/dist/common/src/build-tests.js +0 -39
- package/dist/common/src/esbuildConfigs/features.js +0 -14
- package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +0 -87
- package/dist/common/src/esbuildConfigs/report.js +0 -14
- package/dist/common/src/esbuildConfigs/tests.js +0 -13
- package/dist/common/src/run-tests.js +0 -39
- package/dist/common/src/utils.js +0 -16
- package/dist/common/testeranto.js +0 -15
- package/dist/module/src/Aider.js +0 -136
- package/dist/module/src/Init.js +0 -35
- package/dist/module/src/Project.js +0 -220
- package/dist/module/src/Puppeteer.js +0 -106
- package/dist/module/src/SubPackages/puppeteer.js +0 -16
- package/dist/module/src/SubPackages/react/jsx/index.js +0 -27
- package/dist/module/src/build-tests.js +0 -11
- package/dist/module/src/esbuildConfigs/features.js +0 -12
- package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +0 -82
- package/dist/module/src/esbuildConfigs/report.js +0 -14
- package/dist/module/src/esbuildConfigs/tests.js +0 -11
- package/dist/module/src/run-tests.js +0 -11
- package/dist/module/src/utils.js +0 -9
- package/dist/module/testeranto.js +0 -13
- package/dist/prebuild/build-tests.mjs +0 -553
- package/dist/types/dist/module/src/Init.d.ts +0 -2
- package/dist/types/src/Aider.d.ts +0 -1
- package/dist/types/src/Node.d.ts +0 -13
- package/dist/types/src/Project.d.ts +0 -12
- package/dist/types/src/Puppeteer.d.ts +0 -2
- package/dist/types/src/SubPackages/puppeteer.d.ts +0 -6
- package/dist/types/src/SubPackages/react/component/node.d.ts +0 -7
- package/dist/types/src/SubPackages/react/component/web.d.ts +0 -7
- package/dist/types/src/SubPackages/react/jsx/index.d.ts +0 -12
- package/dist/types/src/SubPackages/react/jsx/node.d.ts +0 -4
- package/dist/types/src/SubPackages/react/jsx/web.d.ts +0 -4
- package/dist/types/src/SubPackages/react-dom/component/node.d.ts +0 -12
- package/dist/types/src/SubPackages/react-dom/component/web.d.ts +0 -11
- package/dist/types/src/SubPackages/react-dom/jsx/index.d.ts +0 -7
- package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +0 -6
- package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +0 -5
- package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +0 -5
- package/dist/types/src/SubPackages/react-test-renderer/component/index.d.ts +0 -13
- package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +0 -8
- package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +0 -3
- package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +0 -8
- package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +0 -8
- package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +0 -17
- package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +0 -8
- package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +0 -8
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/index.d.ts +0 -16
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +0 -4
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +0 -4
- package/dist/types/src/Types.d.ts +0 -51
- package/dist/types/src/Web.d.ts +0 -10
- package/dist/types/src/defaultConfig.d.ts +0 -3
- package/dist/types/src/esbuildConfigs/features.d.ts +0 -4
- package/dist/types/src/esbuildConfigs/report.d.ts +0 -0
- package/dist/types/src/esbuildConfigs/tests.d.ts +0 -4
- package/dist/types/src/lib/abstractBase.d.ts +0 -110
- package/dist/types/src/lib/basebuilder.d.ts +0 -27
- package/dist/types/src/lib/classBuilder.d.ts +0 -7
- package/dist/types/src/lib/core.d.ts +0 -8
- package/dist/types/src/lib/index.d.ts +0 -60
- package/dist/types/src/lib/types.d.ts +0 -68
- package/dist/types/src/utils.d.ts +0 -2
- package/dist/types/testeranto.d.ts +0 -16
- package/docker-compose.yml +0 -37
- package/src/Aider.ts +0 -168
- package/src/Project.ts +0 -292
- package/src/Puppeteer.ts +0 -143
- package/src/SubPackages/puppeteer.ts +0 -51
- package/src/build-tests.ts +0 -12
- package/src/esbuildConfigs/features.ts +0 -17
- package/src/esbuildConfigs/report.ts +0 -15
- package/src/esbuildConfigs/tests.ts +0 -14
- package/src/run-tests.ts +0 -12
- package/testeranto.ts +0 -13
- package/dist/common/{src/Node.js → Node.js} +0 -0
- package/dist/common/{src/PM → PM}/index.js +0 -0
- package/dist/common/{src/SubPackages → SubPackages}/react/component/node.js +0 -0
- package/dist/common/{src/SubPackages → SubPackages}/react/component/web.js +0 -0
- package/dist/common/{src/SubPackages → SubPackages}/react/jsx/web.js +0 -0
- package/dist/common/{src/SubPackages → SubPackages}/react-dom/jsx/index.js +0 -0
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/index.js +0 -0
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/node.js +0 -0
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/web.js +0 -0
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx/node.js +0 -0
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx/web.js +0 -0
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/node.js +1 -1
- package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
- package/dist/common/{src/Types.js → Types.js} +0 -0
- package/dist/common/{src/Web.js → Web.js} +0 -0
- package/dist/common/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.js +0 -0
- package/dist/common/{src/esbuildConfigs → esbuildConfigs}/index.js +0 -0
- package/dist/common/{src/lib → lib}/types.js +0 -0
- package/dist/common/{src/puppeteerConfiger.js → puppeteerConfiger.js} +0 -0
- package/dist/common/{src/web.html.js → web.html.js} +0 -0
- package/dist/module/{src/Node.js → Node.js} +0 -0
- package/dist/module/{src/PM → PM}/index.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react/component/node.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react/component/web.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react/jsx/web.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react-dom/jsx/index.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/MemoExoticComponent/node.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/index.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/interface.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/node.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/web.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/fc/node.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/fc/web.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx/node.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx/web.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/index.js +0 -0
- package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/node.js +1 -1
- /package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
- /package/dist/module/{src/Types.js → Types.js} +0 -0
- /package/dist/module/{src/Web.js → Web.js} +0 -0
- /package/dist/module/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.js +0 -0
- /package/dist/module/{src/esbuildConfigs → esbuildConfigs}/index.js +0 -0
- /package/dist/module/{src/lib → lib}/types.js +0 -0
- /package/dist/module/{src/puppeteerConfiger.js → puppeteerConfiger.js} +0 -0
- /package/dist/module/{src/web.html.js → web.html.js} +0 -0
- /package/dist/types/{src/Init.d.ts → Init.d.ts} +0 -0
- /package/dist/types/{src/build-tests.d.ts → ReportServer.d.ts} +0 -0
- /package/dist/types/{src/SubPackages → SubPackages}/react-test-renderer/component/interface.d.ts +0 -0
- /package/dist/types/{src/init-docs.d.ts → build.d.ts} +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.d.ts +0 -0
- /package/dist/types/{src/run-tests.d.ts → init-docs.d.ts} +0 -0
- /package/dist/types/{src/puppeteerConfiger.d.ts → puppeteerConfiger.d.ts} +0 -0
- /package/dist/types/{src/web.html.d.ts → web.html.d.ts} +0 -0
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
37
|
};
|
|
@@ -30,47 +40,100 @@ exports.PM_Main = void 0;
|
|
|
30
40
|
const fs_1 = __importDefault(require("fs"));
|
|
31
41
|
const path_1 = __importDefault(require("path"));
|
|
32
42
|
const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
|
|
33
|
-
const
|
|
43
|
+
const ansi_colors_1 = __importDefault(require("ansi-colors"));
|
|
44
|
+
const utils_1 = require("../utils");
|
|
34
45
|
const index_js_1 = require("./index.js");
|
|
35
|
-
const utils_js_1 = require("../utils.js");
|
|
36
46
|
const fileStreams3 = [];
|
|
37
47
|
const fPaths = [];
|
|
38
48
|
const files = {};
|
|
49
|
+
const recorders = {};
|
|
39
50
|
const screenshots = {};
|
|
51
|
+
const statusMessagePretty = (failures, test) => {
|
|
52
|
+
if (failures === 0) {
|
|
53
|
+
console.log(ansi_colors_1.default.green(ansi_colors_1.default.inverse(`> ${test} completed successfully`)));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
console.log(ansi_colors_1.default.red(ansi_colors_1.default.inverse(`> ${test} failed ${failures} times`)));
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
async function writeFileAndCreateDir(filePath, data) {
|
|
60
|
+
const dirPath = path_1.default.dirname(filePath);
|
|
61
|
+
try {
|
|
62
|
+
await fs_1.default.promises.mkdir(dirPath, { recursive: true });
|
|
63
|
+
await fs_1.default.appendFileSync(filePath, data);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
console.error(`Error writing file: ${error}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function isValidUrl(string) {
|
|
70
|
+
try {
|
|
71
|
+
new URL(string);
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
40
78
|
class PM_Main extends index_js_1.PM {
|
|
41
79
|
constructor(configs) {
|
|
42
80
|
super();
|
|
43
81
|
this.shutdownMode = false;
|
|
82
|
+
this.bigBoard = {};
|
|
44
83
|
this.checkForShutdown = () => {
|
|
45
|
-
const anyRunning = Object.values(this.
|
|
84
|
+
const anyRunning = Object.values(this.bigBoard).filter((x) => x.status === "running")
|
|
85
|
+
.length > 0;
|
|
46
86
|
if (anyRunning) {
|
|
47
87
|
}
|
|
48
88
|
else {
|
|
49
89
|
this.browser.disconnect().then(() => {
|
|
50
|
-
|
|
90
|
+
const final = {
|
|
91
|
+
timestamp: Date.now(),
|
|
92
|
+
tests: this.configs.tests.reduce((mm, t) => {
|
|
93
|
+
const bddErrors = fs_1.default
|
|
94
|
+
.readFileSync((0, utils_1.bddExitCodePather)(t[0], t[1]))
|
|
95
|
+
.toString();
|
|
96
|
+
const lintErrors = fs_1.default
|
|
97
|
+
.readFileSync((0, utils_1.lintExitCodePather)(t[0], t[1]))
|
|
98
|
+
.toString();
|
|
99
|
+
const typeErrors = fs_1.default
|
|
100
|
+
.readFileSync((0, utils_1.tscExitCodePather)(t[0], t[1]))
|
|
101
|
+
.toString();
|
|
102
|
+
mm[t[0]] = {
|
|
103
|
+
bddErrors,
|
|
104
|
+
lintErrors,
|
|
105
|
+
typeErrors,
|
|
106
|
+
};
|
|
107
|
+
return mm;
|
|
108
|
+
}, {}),
|
|
109
|
+
};
|
|
110
|
+
const s = JSON.stringify(final, null, 2);
|
|
111
|
+
fs_1.default.writeFileSync("docs/summary.json", s);
|
|
112
|
+
console.log(ansi_colors_1.default.inverse("Goodbye"));
|
|
51
113
|
process.exit();
|
|
52
114
|
});
|
|
53
115
|
}
|
|
54
116
|
};
|
|
55
|
-
this.
|
|
56
|
-
this.
|
|
117
|
+
this.testIsNowRunning = (src) => {
|
|
118
|
+
this.bigBoard[src].status = "running";
|
|
57
119
|
};
|
|
58
|
-
this.
|
|
59
|
-
this.
|
|
120
|
+
this.testIsNowDone = (src) => {
|
|
121
|
+
this.bigBoard[src].status = "waiting";
|
|
60
122
|
if (this.shutdownMode) {
|
|
61
123
|
this.checkForShutdown();
|
|
62
124
|
}
|
|
63
125
|
};
|
|
64
126
|
this.launchNode = async (src, dest) => {
|
|
65
|
-
console.log(
|
|
66
|
-
|
|
127
|
+
// console.log(ansiC.yellow(`! node, ${src}`));
|
|
128
|
+
console.log(ansi_colors_1.default.green(ansi_colors_1.default.inverse(`! node, ${src}`)));
|
|
129
|
+
this.testIsNowRunning(src);
|
|
67
130
|
const destFolder = dest.replace(".mjs", "");
|
|
68
131
|
let argz = "";
|
|
69
132
|
const testConfig = this.configs.tests.find((t) => {
|
|
70
133
|
return t[0] === src;
|
|
71
134
|
});
|
|
72
135
|
if (!testConfig) {
|
|
73
|
-
console.
|
|
136
|
+
console.log(ansi_colors_1.default.inverse("missing test config! Exiting ungracefully!"));
|
|
74
137
|
process.exit(-1);
|
|
75
138
|
}
|
|
76
139
|
const testConfigResource = testConfig[2];
|
|
@@ -109,32 +172,45 @@ class PM_Main extends index_js_1.PM {
|
|
|
109
172
|
console.error("negative port makes no sense", src);
|
|
110
173
|
process.exit(-1);
|
|
111
174
|
}
|
|
112
|
-
const builtfile = dest
|
|
175
|
+
const builtfile = dest;
|
|
113
176
|
const webSideCares = [];
|
|
114
|
-
await Promise.all(
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
177
|
+
// await Promise.all(
|
|
178
|
+
// testConfig[3].map(async (sidecar) => {
|
|
179
|
+
// if (sidecar[1] === "web") {
|
|
180
|
+
// const s = await this.launchWebSideCar(
|
|
181
|
+
// sidecar[0],
|
|
182
|
+
// destinationOfRuntime(sidecar[0], "web", this.configs),
|
|
183
|
+
// sidecar
|
|
184
|
+
// );
|
|
185
|
+
// webSideCares.push(s);
|
|
186
|
+
// return s;
|
|
187
|
+
// }
|
|
188
|
+
// if (sidecar[1] === "node") {
|
|
189
|
+
// return this.launchNodeSideCar(
|
|
190
|
+
// sidecar[0],
|
|
191
|
+
// destinationOfRuntime(sidecar[0], "node", this.configs),
|
|
192
|
+
// sidecar
|
|
193
|
+
// );
|
|
194
|
+
// }
|
|
195
|
+
// })
|
|
196
|
+
// );
|
|
197
|
+
this.server[builtfile] = await Promise.resolve(`${`${builtfile}?cacheBust=${Date.now()}`}`).then(s => __importStar(require(s))).then((module) => {
|
|
125
198
|
return module.default.then((defaultModule) => {
|
|
126
199
|
defaultModule
|
|
127
200
|
.receiveTestResourceConfig(argz)
|
|
128
201
|
.then(async ({ features, failed }) => {
|
|
129
|
-
this.receiveFeatures(features, destFolder);
|
|
130
|
-
console.log(`${src} completed with ${failed} errors`);
|
|
202
|
+
this.receiveFeatures(features, destFolder, src);
|
|
203
|
+
// console.log(`${src} completed with ${failed} errors`);
|
|
204
|
+
statusMessagePretty(failed, src);
|
|
205
|
+
this.receiveExitCode(src, failed);
|
|
131
206
|
})
|
|
132
207
|
.catch((e) => {
|
|
133
|
-
console.log(`${src} errored with
|
|
208
|
+
console.log(ansi_colors_1.default.red(ansi_colors_1.default.inverse(`${src} errored with: ${e}`)));
|
|
209
|
+
// console.log(reset, `${src} errored with`, e);
|
|
134
210
|
})
|
|
135
211
|
.finally(() => {
|
|
136
212
|
webSideCares.forEach((webSideCar) => webSideCar.close());
|
|
137
|
-
this.
|
|
213
|
+
this.testIsNowDone(src);
|
|
138
214
|
});
|
|
139
215
|
});
|
|
140
216
|
});
|
|
@@ -147,7 +223,8 @@ class PM_Main extends index_js_1.PM {
|
|
|
147
223
|
};
|
|
148
224
|
this.launchWebSideCar = async (src, dest, testConfig) => {
|
|
149
225
|
const d = dest + ".mjs";
|
|
150
|
-
console.log("launchWebSideCar", src, dest, d);
|
|
226
|
+
// console.log(green, "launchWebSideCar", src, dest, d);
|
|
227
|
+
console.log(ansi_colors_1.default.green(ansi_colors_1.default.inverse(`launchWebSideCar ${src}`)));
|
|
151
228
|
const destFolder = dest.replace(".mjs", "");
|
|
152
229
|
// const webArgz = JSON.stringify({
|
|
153
230
|
// name: dest,
|
|
@@ -254,7 +331,8 @@ class PM_Main extends index_js_1.PM {
|
|
|
254
331
|
};
|
|
255
332
|
this.launchNodeSideCar = async (src, dest, testConfig) => {
|
|
256
333
|
const d = dest + ".mjs";
|
|
257
|
-
console.log("launchNodeSideCar", src, dest, d);
|
|
334
|
+
// console.log(green, "launchNodeSideCar", src, dest, d);
|
|
335
|
+
console.log(ansi_colors_1.default.green(ansi_colors_1.default.inverse(`launchNodeSideCar ${src}`)));
|
|
258
336
|
const destFolder = dest.replace(".mjs", "");
|
|
259
337
|
let argz = "";
|
|
260
338
|
const testConfigResource = testConfig[2];
|
|
@@ -299,7 +377,7 @@ class PM_Main extends index_js_1.PM {
|
|
|
299
377
|
// "node builtfile",
|
|
300
378
|
// (await import(`${builtfile}?cacheBust=${Date.now()}`)).default
|
|
301
379
|
// );
|
|
302
|
-
this.server[builtfile] = await Promise.resolve(
|
|
380
|
+
this.server[builtfile] = await Promise.resolve(`${`${builtfile}?cacheBust=${Date.now()}`}`).then(s => __importStar(require(s))).then((module) => {
|
|
303
381
|
return module.default.then((defaultModule) => {
|
|
304
382
|
// console.log("defaultModule", defaultModule);
|
|
305
383
|
const s = new defaultModule();
|
|
@@ -323,14 +401,19 @@ class PM_Main extends index_js_1.PM {
|
|
|
323
401
|
}
|
|
324
402
|
}
|
|
325
403
|
};
|
|
326
|
-
this.launchWeb = (t, dest
|
|
327
|
-
console.log("
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
404
|
+
this.launchWeb = (t, dest) => {
|
|
405
|
+
// console.log(green, "! web", t);
|
|
406
|
+
console.log(ansi_colors_1.default.green(ansi_colors_1.default.inverse(`! web ${t}`)));
|
|
407
|
+
this.testIsNowRunning(t);
|
|
408
|
+
// sidecars.map((sidecar) => {
|
|
409
|
+
// if (sidecar[1] === "node") {
|
|
410
|
+
// return this.launchNodeSideCar(
|
|
411
|
+
// sidecar[0],
|
|
412
|
+
// destinationOfRuntime(sidecar[0], "node", this.configs),
|
|
413
|
+
// sidecar
|
|
414
|
+
// );
|
|
415
|
+
// }
|
|
416
|
+
// });
|
|
334
417
|
const destFolder = dest.replace(".mjs", "");
|
|
335
418
|
const webArgz = JSON.stringify({
|
|
336
419
|
name: dest,
|
|
@@ -338,10 +421,11 @@ class PM_Main extends index_js_1.PM {
|
|
|
338
421
|
fs: destFolder,
|
|
339
422
|
browserWSEndpoint: this.browser.wsEndpoint(),
|
|
340
423
|
});
|
|
424
|
+
const d = `${dest}?cacheBust=${Date.now()}`;
|
|
341
425
|
const evaluation = `
|
|
342
|
-
|
|
343
|
-
import('${
|
|
344
|
-
|
|
426
|
+
|
|
427
|
+
import('${d}').then(async (x) => {
|
|
428
|
+
|
|
345
429
|
try {
|
|
346
430
|
return await (await x.default).receiveTestResourceConfig(${webArgz})
|
|
347
431
|
} catch (e) {
|
|
@@ -350,8 +434,8 @@ class PM_Main extends index_js_1.PM {
|
|
|
350
434
|
})`;
|
|
351
435
|
const fileStreams2 = [];
|
|
352
436
|
const doneFileStream2 = [];
|
|
353
|
-
const stdoutStream = fs_1.default.createWriteStream(`${
|
|
354
|
-
const stderrStream = fs_1.default.createWriteStream(`${
|
|
437
|
+
const stdoutStream = fs_1.default.createWriteStream(`${destFolder}/stdout.log`);
|
|
438
|
+
const stderrStream = fs_1.default.createWriteStream(`${destFolder}/stderr.log`);
|
|
355
439
|
this.browser
|
|
356
440
|
.newPage()
|
|
357
441
|
.then((page) => {
|
|
@@ -515,12 +599,12 @@ class PM_Main extends index_js_1.PM {
|
|
|
515
599
|
files[t] = new Set();
|
|
516
600
|
}
|
|
517
601
|
// files[t].add(filepath);
|
|
518
|
-
fs_1.default.writeFileSync(
|
|
602
|
+
fs_1.default.writeFileSync(destFolder + "/manifest.json", JSON.stringify(Array.from(files[t])));
|
|
519
603
|
delete files[t];
|
|
520
604
|
Promise.all(screenshots[t] || []).then(() => {
|
|
521
605
|
delete screenshots[t];
|
|
522
606
|
page.close();
|
|
523
|
-
this.
|
|
607
|
+
this.testIsNowDone(t);
|
|
524
608
|
stderrStream.close();
|
|
525
609
|
stdoutStream.close();
|
|
526
610
|
});
|
|
@@ -538,7 +622,7 @@ class PM_Main extends index_js_1.PM {
|
|
|
538
622
|
}
|
|
539
623
|
console.debug(`Error from message ${t}: [${err.message}] `);
|
|
540
624
|
stderrStream.write(err.message);
|
|
541
|
-
|
|
625
|
+
close();
|
|
542
626
|
});
|
|
543
627
|
page.on("console", (log) => {
|
|
544
628
|
// console.debug(`Log from ${t}: [${log.text()}] `);
|
|
@@ -550,23 +634,28 @@ class PM_Main extends index_js_1.PM {
|
|
|
550
634
|
stdoutStream.write(JSON.stringify(log.location()));
|
|
551
635
|
stdoutStream.write(JSON.stringify(log.stackTrace()));
|
|
552
636
|
});
|
|
553
|
-
await page.goto(`file://${`${
|
|
637
|
+
await page.goto(`file://${`${destFolder}.html`}`, {});
|
|
554
638
|
await page
|
|
555
639
|
.evaluate(evaluation)
|
|
556
640
|
.then(async ({ failed, features }) => {
|
|
557
|
-
this.receiveFeatures(features, destFolder);
|
|
558
|
-
console.log(`${t} completed with ${failed} errors`);
|
|
641
|
+
this.receiveFeatures(features, destFolder, t);
|
|
642
|
+
// console.log(`${t} completed with ${failed} errors`);
|
|
643
|
+
statusMessagePretty(failed, t);
|
|
644
|
+
this.receiveExitCode(t, failed);
|
|
559
645
|
})
|
|
560
646
|
.catch((e) => {
|
|
561
|
-
console.log(`${t} errored with`, e);
|
|
647
|
+
// console.log(red, `${t} errored with`, e);
|
|
648
|
+
console.log(ansi_colors_1.default.red(ansi_colors_1.default.inverse(`${t} errored with: ${e}`)));
|
|
562
649
|
})
|
|
563
650
|
.finally(() => {
|
|
651
|
+
// this.testIsNowDone(t);
|
|
564
652
|
close();
|
|
565
653
|
});
|
|
566
654
|
return page;
|
|
567
655
|
});
|
|
568
656
|
};
|
|
569
|
-
this.receiveFeatures = (features, destFolder) => {
|
|
657
|
+
this.receiveFeatures = (features, destFolder, srcTest) => {
|
|
658
|
+
const featureDestination = path_1.default.resolve(process.cwd(), "docs", "features", "strings", srcTest.split(".").slice(0, -1).join(".") + ".features.txt");
|
|
570
659
|
features
|
|
571
660
|
.reduce(async (mm, featureStringKey) => {
|
|
572
661
|
const accum = await mm;
|
|
@@ -585,45 +674,87 @@ class PM_Main extends index_js_1.PM {
|
|
|
585
674
|
// throw error;
|
|
586
675
|
}
|
|
587
676
|
}
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
accum.push(newPath);
|
|
677
|
+
// fs.symlink(u.pathname, newPath, (err) => {
|
|
678
|
+
// if (err) {
|
|
679
|
+
// // console.error("Error creating symlink:", err);
|
|
680
|
+
// } else {
|
|
681
|
+
// // console.log("Symlink created successfully");
|
|
682
|
+
// }
|
|
683
|
+
// });
|
|
684
|
+
accum.files.push(newPath);
|
|
597
685
|
}
|
|
598
686
|
else if (u.protocol === "http:" || u.protocol === "https:") {
|
|
599
687
|
const newPath = `${process.cwd()}/docs/features/external${u.hostname}${u.pathname}`;
|
|
600
688
|
const body = await this.configs.featureIngestor(featureStringKey);
|
|
601
689
|
writeFileAndCreateDir(newPath, body);
|
|
602
|
-
accum.push(newPath);
|
|
690
|
+
accum.files.push(newPath);
|
|
603
691
|
}
|
|
604
692
|
}
|
|
605
693
|
else {
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
694
|
+
await fs_1.default.promises.mkdir(path_1.default.dirname(featureDestination), {
|
|
695
|
+
recursive: true,
|
|
696
|
+
});
|
|
697
|
+
accum.strings.push(featureStringKey);
|
|
609
698
|
}
|
|
610
699
|
return accum;
|
|
611
|
-
}, Promise.resolve([]))
|
|
612
|
-
.then((
|
|
613
|
-
|
|
700
|
+
}, Promise.resolve({ files: [], strings: [] }))
|
|
701
|
+
.then(({ files, strings }) => {
|
|
702
|
+
// writeFileAndCreateDir(`${featureDestination}`, JSON.stringify(strings));
|
|
703
|
+
fs_1.default.writeFileSync(`${destFolder}/featurePrompt.txt`, files
|
|
614
704
|
.map((f) => {
|
|
615
705
|
return `/read ${f}`;
|
|
616
706
|
})
|
|
617
707
|
.join("\n"));
|
|
618
708
|
});
|
|
709
|
+
this.writeBigBoard();
|
|
710
|
+
};
|
|
711
|
+
this.receiveExitCode = (srcTest, failures) => {
|
|
712
|
+
this.bigBoard[srcTest].runTimeError = failures;
|
|
713
|
+
this.writeBigBoard();
|
|
714
|
+
};
|
|
715
|
+
this.writeBigBoard = () => {
|
|
716
|
+
fs_1.default.writeFileSync("./docs/bigBoard.json", JSON.stringify(this.bigBoard, null, 2));
|
|
619
717
|
};
|
|
620
718
|
this.server = {};
|
|
621
719
|
this.configs = configs;
|
|
622
720
|
this.ports = {};
|
|
623
|
-
this.
|
|
721
|
+
this.configs.tests.forEach(([t]) => {
|
|
722
|
+
this.bigBoard[t] = {
|
|
723
|
+
status: "?",
|
|
724
|
+
};
|
|
725
|
+
});
|
|
624
726
|
this.configs.ports.forEach((element) => {
|
|
625
727
|
this.ports[element] = "true"; // set ports as open
|
|
626
728
|
});
|
|
729
|
+
globalThis["waitForSelector"] = async (pageKey, sel) => {
|
|
730
|
+
const page = (await this.browser.pages()).find(
|
|
731
|
+
/* @ts-ignore:next-line */
|
|
732
|
+
(p) => p.mainFrame()._id === pageKey);
|
|
733
|
+
await (page === null || page === void 0 ? void 0 : page.waitForSelector(sel));
|
|
734
|
+
};
|
|
735
|
+
globalThis["screencastStop"] = async (path) => {
|
|
736
|
+
return recorders[path].stop();
|
|
737
|
+
};
|
|
738
|
+
globalThis["closePage"] = async (pageKey) => {
|
|
739
|
+
const page = (await this.browser.pages()).find(
|
|
740
|
+
/* @ts-ignore:next-line */
|
|
741
|
+
(p) => p.mainFrame()._id === pageKey);
|
|
742
|
+
/* @ts-ignore:next-line */
|
|
743
|
+
return page.close();
|
|
744
|
+
};
|
|
745
|
+
globalThis["goto"] = async (pageKey, url) => {
|
|
746
|
+
const page = (await this.browser.pages()).find(
|
|
747
|
+
/* @ts-ignore:next-line */
|
|
748
|
+
(p) => p.mainFrame()._id === pageKey);
|
|
749
|
+
await (page === null || page === void 0 ? void 0 : page.goto(url));
|
|
750
|
+
return;
|
|
751
|
+
};
|
|
752
|
+
globalThis["newPage"] = () => {
|
|
753
|
+
return this.browser.newPage();
|
|
754
|
+
};
|
|
755
|
+
globalThis["pages"] = () => {
|
|
756
|
+
return this.browser.pages();
|
|
757
|
+
};
|
|
627
758
|
globalThis["mkdirSync"] = (fp) => {
|
|
628
759
|
if (!fs_1.default.existsSync(fp)) {
|
|
629
760
|
return fs_1.default.mkdirSync(fp, {
|
|
@@ -633,14 +764,9 @@ class PM_Main extends index_js_1.PM {
|
|
|
633
764
|
return false;
|
|
634
765
|
};
|
|
635
766
|
globalThis["writeFileSync"] = (filepath, contents, testName) => {
|
|
636
|
-
|
|
637
|
-
// Create directories if they don't exist
|
|
638
|
-
const dir = path_1.default.dirname(filepath);
|
|
639
|
-
// console.log(testName, "mkdirSync", dir);
|
|
640
|
-
fs_1.default.mkdirSync(dir, {
|
|
767
|
+
fs_1.default.mkdirSync(path_1.default.dirname(filepath), {
|
|
641
768
|
recursive: true,
|
|
642
769
|
});
|
|
643
|
-
// console.log(testName, "mkdirSync2");
|
|
644
770
|
if (!files[testName]) {
|
|
645
771
|
files[testName] = new Set();
|
|
646
772
|
}
|
|
@@ -663,7 +789,33 @@ class PM_Main extends index_js_1.PM {
|
|
|
663
789
|
globalThis["end"] = (uid) => {
|
|
664
790
|
fileStreams3[uid].end();
|
|
665
791
|
};
|
|
666
|
-
|
|
792
|
+
// async (ssOpts: ScreenshotOptions, testName: string) => {
|
|
793
|
+
// const p = ssOpts.path as string;
|
|
794
|
+
// const dir = path.dirname(p);
|
|
795
|
+
// fs.mkdirSync(dir, {
|
|
796
|
+
// recursive: true,
|
|
797
|
+
// });
|
|
798
|
+
// if (!files[testName]) {
|
|
799
|
+
// files[testName] = new Set();
|
|
800
|
+
// }
|
|
801
|
+
// files[testName].add(ssOpts.path as string);
|
|
802
|
+
// const sPromise = page.screenshot({
|
|
803
|
+
// ...ssOpts,
|
|
804
|
+
// path: p,
|
|
805
|
+
// });
|
|
806
|
+
// if (!screenshots[testName]) {
|
|
807
|
+
// screenshots[testName] = [];
|
|
808
|
+
// }
|
|
809
|
+
// screenshots[testName].push(sPromise);
|
|
810
|
+
// // sPromise.then(())
|
|
811
|
+
// await sPromise;
|
|
812
|
+
// return sPromise;
|
|
813
|
+
// // page.evaluate(`window["screenshot done"]`);
|
|
814
|
+
// };
|
|
815
|
+
globalThis["customScreenShot"] = async (opts, pageKey, testName) => {
|
|
816
|
+
const page = (await this.browser.pages()).find(
|
|
817
|
+
/* @ts-ignore:next-line */
|
|
818
|
+
(p) => p.mainFrame()._id === pageKey);
|
|
667
819
|
const p = opts.path;
|
|
668
820
|
const dir = path_1.default.dirname(p);
|
|
669
821
|
fs_1.default.mkdirSync(dir, {
|
|
@@ -681,6 +833,19 @@ class PM_Main extends index_js_1.PM {
|
|
|
681
833
|
await sPromise;
|
|
682
834
|
return sPromise;
|
|
683
835
|
};
|
|
836
|
+
globalThis["screencast"] = async (opts, pageKey) => {
|
|
837
|
+
const page = (await this.browser.pages()).find(
|
|
838
|
+
/* @ts-ignore:next-line */
|
|
839
|
+
(p) => p.mainFrame()._id === pageKey);
|
|
840
|
+
const p = opts.path;
|
|
841
|
+
const dir = path_1.default.dirname(p);
|
|
842
|
+
fs_1.default.mkdirSync(dir, {
|
|
843
|
+
recursive: true,
|
|
844
|
+
});
|
|
845
|
+
const recorder = await (page === null || page === void 0 ? void 0 : page.screencast(Object.assign(Object.assign({}, opts), { path: p })));
|
|
846
|
+
recorders[opts.path] = recorder;
|
|
847
|
+
return opts.path;
|
|
848
|
+
};
|
|
684
849
|
// globalThis["customclose"] = (p: string, testName: string) => {
|
|
685
850
|
// if (!files[testName]) {
|
|
686
851
|
// files[testName] = new Set();
|
|
@@ -692,13 +857,28 @@ class PM_Main extends index_js_1.PM {
|
|
|
692
857
|
// delete files[testName];
|
|
693
858
|
// };
|
|
694
859
|
}
|
|
860
|
+
customclose() {
|
|
861
|
+
throw new Error("Method not implemented.");
|
|
862
|
+
}
|
|
863
|
+
waitForSelector(p, s) {
|
|
864
|
+
throw new Error("Method not implemented.");
|
|
865
|
+
}
|
|
866
|
+
closePage(p) {
|
|
867
|
+
throw new Error("Method not implemented.");
|
|
868
|
+
}
|
|
869
|
+
newPage() {
|
|
870
|
+
throw new Error("Method not implemented.");
|
|
871
|
+
}
|
|
872
|
+
goto(p, url) {
|
|
873
|
+
throw new Error("Method not implemented.");
|
|
874
|
+
}
|
|
695
875
|
$(selector) {
|
|
696
876
|
throw new Error("Method not implemented.");
|
|
697
877
|
}
|
|
698
878
|
screencast(opts) {
|
|
699
879
|
throw new Error("Method not implemented.");
|
|
700
880
|
}
|
|
701
|
-
customScreenShot(opts) {
|
|
881
|
+
customScreenShot(opts, cdpPage) {
|
|
702
882
|
throw new Error("Method not implemented.");
|
|
703
883
|
}
|
|
704
884
|
end(accessObject) {
|
|
@@ -783,41 +963,22 @@ class PM_Main extends index_js_1.PM {
|
|
|
783
963
|
isDisabled(selector) {
|
|
784
964
|
throw new Error("Method not implemented.");
|
|
785
965
|
}
|
|
966
|
+
screencastStop(s) {
|
|
967
|
+
throw new Error("Method not implemented.");
|
|
968
|
+
}
|
|
786
969
|
////////////////////////////////////////////////////////////////////////////////
|
|
787
970
|
async startPuppeteer(options, destfolder) {
|
|
788
971
|
this.browser = (await puppeteer_core_1.default.launch(options));
|
|
789
972
|
}
|
|
790
|
-
|
|
973
|
+
// goodbye = () => {
|
|
974
|
+
// this.browser.disconnect().then(() => {
|
|
975
|
+
// console.log("Goodbye");
|
|
976
|
+
// process.exit();
|
|
977
|
+
// });
|
|
978
|
+
// };
|
|
791
979
|
shutDown() {
|
|
792
|
-
console.log("shutting down...");
|
|
793
980
|
this.shutdownMode = true;
|
|
794
981
|
this.checkForShutdown();
|
|
795
982
|
}
|
|
796
983
|
}
|
|
797
984
|
exports.PM_Main = PM_Main;
|
|
798
|
-
async function writeFileAndCreateDir(filePath, data) {
|
|
799
|
-
const dirPath = path_1.default.dirname(filePath);
|
|
800
|
-
try {
|
|
801
|
-
await fs_1.default.promises.mkdir(dirPath, { recursive: true });
|
|
802
|
-
await fs_1.default.promises.writeFile(filePath, data);
|
|
803
|
-
}
|
|
804
|
-
catch (error) {
|
|
805
|
-
console.error(`Error writing file: ${error}`);
|
|
806
|
-
}
|
|
807
|
-
}
|
|
808
|
-
async function sha256(rawData) {
|
|
809
|
-
const data = typeof rawData === "object" ? JSON.stringify(rawData) : String(rawData);
|
|
810
|
-
const msgBuffer = new TextEncoder().encode(data);
|
|
811
|
-
const hashBuffer = await crypto_1.default.subtle.digest("SHA-256", msgBuffer);
|
|
812
|
-
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
813
|
-
return hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
814
|
-
}
|
|
815
|
-
function isValidUrl(string) {
|
|
816
|
-
try {
|
|
817
|
-
new URL(string);
|
|
818
|
-
return true;
|
|
819
|
-
}
|
|
820
|
-
catch (err) {
|
|
821
|
-
return false;
|
|
822
|
-
}
|
|
823
|
-
}
|
|
@@ -14,10 +14,19 @@ class PM_Node extends index_js_1.PM {
|
|
|
14
14
|
this.server = {};
|
|
15
15
|
this.testResourceConfiguration = t;
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
waitForSelector(p, s) {
|
|
18
|
+
return globalThis["waitForSelector"](p, s);
|
|
19
|
+
}
|
|
20
|
+
closePage(p) {
|
|
21
|
+
return globalThis["closePage"](p);
|
|
22
|
+
}
|
|
23
|
+
goto(cdpPage, url) {
|
|
24
|
+
return globalThis["goto"](cdpPage.mainFrame()._id, url);
|
|
19
25
|
}
|
|
20
|
-
|
|
26
|
+
newPage() {
|
|
27
|
+
return globalThis["newPage"]();
|
|
28
|
+
}
|
|
29
|
+
$(selector) {
|
|
21
30
|
throw new Error("Method not implemented.");
|
|
22
31
|
}
|
|
23
32
|
isDisabled(selector) {
|
|
@@ -41,8 +50,14 @@ class PM_Node extends index_js_1.PM {
|
|
|
41
50
|
click(selector) {
|
|
42
51
|
return globalThis["click"](selector);
|
|
43
52
|
}
|
|
44
|
-
|
|
45
|
-
return globalThis["
|
|
53
|
+
screencast(opts, page) {
|
|
54
|
+
return globalThis["screencast"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), page.mainFrame()._id, this.testResourceConfiguration.name);
|
|
55
|
+
}
|
|
56
|
+
screencastStop(p) {
|
|
57
|
+
return globalThis["screencastStop"](p);
|
|
58
|
+
}
|
|
59
|
+
customScreenShot(opts, cdpPage) {
|
|
60
|
+
return globalThis["customScreenShot"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), cdpPage.mainFrame()._id, this.testResourceConfiguration.name);
|
|
46
61
|
}
|
|
47
62
|
existsSync(destFolder) {
|
|
48
63
|
return globalThis["existsSync"](this.testResourceConfiguration.fs + "/" + destFolder);
|