testeranto 0.177.0 → 0.189.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/CNAME +1 -0
- package/README.html +302 -0
- package/README.md +24 -4
- package/dist/common/src/App.js +43 -0
- package/dist/common/src/Node.js +4 -8
- package/dist/common/src/PM/PM_WithEslintAndTsc.js +2 -33
- package/dist/common/src/PM/base.js +0 -1
- package/dist/common/src/PM/layers/base/PM_Base.js +1 -0
- package/dist/common/src/PM/layers/base/components/PageOperations.js +1 -0
- package/dist/common/src/PM/layers/base/components/PageOperations.testeranto.js +1 -0
- package/dist/common/src/PM/layers/linting/components/Linter.js +1 -0
- package/dist/common/src/PM/layers/linting/components/TypeChecker.js +1 -0
- package/dist/common/src/PM/layers/main/components/SidecarManager.js +1 -0
- package/dist/common/src/PM/layers/main/components/TestRunner.js +1 -0
- package/dist/common/src/PM/main.js +211 -109
- package/dist/common/src/PM/nodeSidecar.js +1 -0
- package/dist/common/src/PM/pure.js +15 -10
- package/dist/common/src/PM/pureSidecar.js +1 -1
- package/dist/common/src/PM/types.js +1 -0
- package/dist/common/src/PM/web.js +2 -1
- package/dist/common/src/Pure.js +1 -1
- package/dist/common/src/Pure.test.js +21 -19
- package/dist/common/src/build.js +30 -39
- package/dist/common/src/components/SunriseAnimation.js +291 -0
- package/dist/common/src/components/SunriseAnimation.test/interface.js +67 -0
- package/dist/common/src/components/SunriseAnimation.test/types.js +2 -0
- package/dist/common/src/components/TestStatusBadge.js +1 -21
- package/dist/common/src/components/pure/AppFrame.js +20 -0
- package/dist/common/src/components/pure/AppFrame.test/implementation.js +63 -0
- package/dist/common/src/components/pure/AppFrame.test/index.js +14 -0
- package/dist/common/src/components/pure/AppFrame.test/specification.js +25 -0
- package/dist/common/src/components/pure/AppFrame.test/types.js +3 -0
- package/dist/common/src/components/pure/FeaturesReporterView.js +23 -0
- package/dist/common/src/components/pure/FeaturesReporterView.test/implementation.js +84 -0
- package/dist/common/src/components/pure/FeaturesReporterView.test/index.js +14 -0
- package/dist/common/src/components/pure/FeaturesReporterView.test/specification.js +27 -0
- package/dist/common/src/components/pure/FeaturesReporterView.test/types.js +2 -0
- package/dist/common/src/components/pure/ModalContent.js +86 -0
- package/dist/common/src/components/pure/ModalContent.test/implementation.js +33 -0
- package/dist/common/src/components/pure/ModalContent.test/index.js +12 -0
- package/dist/common/src/components/pure/ModalContent.test/specification.js +19 -0
- package/dist/common/src/components/pure/ModalContent.test/types.js +4 -0
- package/dist/common/src/components/pure/ProjectPageView.js +53 -76
- package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +118 -33
- package/dist/common/src/components/pure/ProjectPageView.test/index.js +5 -1
- package/dist/common/src/components/pure/ProjectPageView.test/specification.js +15 -2
- package/dist/common/src/components/pure/ProjectPageView.test/types.js +2 -0
- package/dist/common/src/components/pure/ProjectsPageView.js +66 -0
- package/dist/common/src/components/pure/SettingsButton.js +83 -0
- package/dist/common/src/components/pure/TestPageView.js +134 -0
- package/dist/common/src/components/pure/TestPageView.test/implementation.js +202 -0
- package/dist/common/src/components/pure/TestPageView.test/index.js +15 -0
- package/dist/common/src/components/pure/TestPageView.test/specification.js +26 -0
- package/dist/common/src/components/pure/TestPageView.test/types.js +4 -0
- package/dist/common/src/components/pure/ThemeCard.js +15 -0
- package/dist/common/src/components/stateful/FeaturesReporter.js +59 -0
- package/dist/common/src/components/stateful/ProjectPage.js +100 -0
- package/dist/common/src/components/stateful/ProjectsPage.js +92 -0
- package/dist/common/src/components/stateful/TestPage.js +133 -0
- package/dist/common/src/defaultConfig.js +1 -0
- package/dist/common/src/esbuildConfigs/web.js +1 -1
- package/dist/common/src/lib/BaseSuite.js +1 -0
- package/dist/common/src/lib/BaseSuite.test/mock.js +0 -11
- package/dist/common/src/lib/BaseSuite.test/test.js +11 -22
- package/dist/common/src/lib/Sidecar.js +1 -0
- package/dist/common/src/lib/abstractBase.js +13 -6
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +0 -6
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +3 -1
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +2 -2
- package/dist/common/src/lib/basebuilder.js +32 -30
- package/dist/common/src/lib/classBuilder.js +2 -0
- package/dist/common/src/lib/core.js +0 -1
- package/dist/common/src/lib/core.test/MockCore.js +0 -14
- package/dist/common/src/lib/core.test/core.test.adapter.js +2 -9
- package/dist/common/src/lib/core.test/core.test.implementation.js +3 -7
- package/dist/common/src/lib/index.js +2 -0
- package/dist/common/src/lib/pmProxy.js +0 -2
- package/dist/common/src/lib/pmProxy.test/adapter.js +8 -2
- package/dist/common/src/lib/pmProxy.test/implementation.js +33 -4
- package/dist/common/src/lib/pmProxy.test/mockPMBase.js +9 -0
- package/dist/common/src/mothership/index.js +5 -0
- package/dist/common/src/mothership/test.js +44 -25
- package/dist/common/src/types/features.js +34 -0
- package/dist/common/src/utils/api.js +42 -23
- package/dist/common/src/utils/featureUtils.js +29 -0
- package/dist/common/src/utils/logFiles.js +25 -0
- package/dist/common/src/utils/makePrompt.js +115 -0
- package/dist/common/src/web.html.js +2 -6
- package/dist/common/testeranto.config.js +62 -34
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/App.js +9 -17
- package/dist/module/src/Node.js +4 -8
- package/dist/module/src/PM/PM_WithEslintAndTsc.js +3 -34
- package/dist/module/src/PM/base.js +0 -1
- package/dist/module/src/PM/layers/base/PM_Base.js +1 -0
- package/dist/module/src/PM/layers/base/components/PageOperations.js +1 -0
- package/dist/module/src/PM/layers/base/components/PageOperations.testeranto.js +1 -0
- package/dist/module/src/PM/layers/linting/components/Linter.js +1 -0
- package/dist/module/src/PM/layers/linting/components/TypeChecker.js +1 -0
- package/dist/module/src/PM/layers/main/components/SidecarManager.js +1 -0
- package/dist/module/src/PM/layers/main/components/TestRunner.js +1 -0
- package/dist/module/src/PM/main.js +207 -105
- package/dist/module/src/PM/nodeSidecar.js +1 -0
- package/dist/module/src/PM/pure.js +15 -10
- package/dist/module/src/PM/pureSidecar.js +1 -1
- package/dist/module/src/PM/types.js +1 -0
- package/dist/module/src/PM/web.js +2 -1
- package/dist/module/src/Pure.js +1 -1
- package/dist/module/src/Pure.test.js +21 -19
- package/dist/module/src/build.js +25 -37
- package/dist/module/src/components/SunriseAnimation.test/interface.js +32 -1
- package/dist/module/src/components/TestStatusBadge.js +1 -21
- package/dist/module/src/components/pure/AppFrame.js +13 -0
- package/dist/module/src/components/pure/AppFrame.test/implementation.js +57 -0
- package/dist/module/src/components/pure/AppFrame.test/index.js +9 -0
- package/dist/module/src/components/pure/AppFrame.test/specification.js +21 -0
- package/dist/module/src/components/pure/AppFrame.test/types.js +2 -0
- package/dist/module/src/components/pure/FeaturesReporterView.js +16 -0
- package/dist/module/src/components/pure/FeaturesReporterView.test/implementation.js +81 -0
- package/dist/module/src/components/pure/FeaturesReporterView.test/index.js +9 -0
- package/dist/module/src/components/pure/FeaturesReporterView.test/specification.js +23 -0
- package/dist/module/src/components/pure/ModalContent.js +79 -0
- package/dist/module/src/components/pure/ModalContent.test/implementation.js +30 -0
- package/dist/module/src/components/pure/ModalContent.test/index.js +7 -0
- package/dist/module/src/components/pure/ModalContent.test/specification.js +15 -0
- package/dist/module/src/components/pure/ModalContent.test/types.js +3 -0
- package/dist/module/src/components/pure/ProjectPageView.js +54 -77
- package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +118 -33
- package/dist/module/src/components/pure/ProjectPageView.test/index.js +5 -1
- package/dist/module/src/components/pure/ProjectPageView.test/specification.js +15 -2
- package/dist/module/src/components/pure/ProjectPageView.test/types.js +2 -0
- package/dist/module/src/components/pure/ProjectsPageView.js +5 -4
- package/dist/module/src/components/pure/SettingsButton.js +43 -0
- package/dist/module/src/components/pure/TestPageView.js +100 -121
- package/dist/module/src/components/pure/TestPageView.test/implementation.js +166 -0
- package/dist/module/src/components/pure/TestPageView.test/index.js +10 -0
- package/dist/module/src/components/pure/TestPageView.test/specification.js +22 -0
- package/dist/module/src/components/pure/TestPageView.test/types.js +3 -0
- package/dist/module/src/components/pure/ThemeCard.js +8 -0
- package/dist/module/src/components/stateful/FeaturesReporter.js +22 -0
- package/dist/module/src/components/stateful/ProjectPage.js +1 -1
- package/dist/module/src/components/stateful/TestPage.js +25 -11
- package/dist/module/src/defaultConfig.js +1 -0
- package/dist/module/src/esbuildConfigs/web.js +1 -1
- package/dist/module/src/lib/BaseSuite.js +1 -0
- package/dist/module/src/lib/BaseSuite.test/mock.js +0 -11
- package/dist/module/src/lib/BaseSuite.test/test.js +11 -22
- package/dist/module/src/lib/Sidecar.js +1 -0
- package/dist/module/src/lib/abstractBase.js +13 -6
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +0 -6
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +3 -1
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +1 -1
- package/dist/module/src/lib/basebuilder.js +32 -30
- package/dist/module/src/lib/classBuilder.js +2 -0
- package/dist/module/src/lib/core.js +0 -1
- package/dist/module/src/lib/core.test/MockCore.js +0 -14
- package/dist/module/src/lib/core.test/core.test.adapter.js +2 -9
- package/dist/module/src/lib/core.test/core.test.implementation.js +3 -7
- package/dist/module/src/lib/index.js +2 -0
- package/dist/module/src/lib/pmProxy.js +0 -2
- package/dist/module/src/lib/pmProxy.test/adapter.js +8 -2
- package/dist/module/src/lib/pmProxy.test/implementation.js +33 -4
- package/dist/module/src/lib/pmProxy.test/mockPMBase.js +9 -0
- package/dist/module/src/mothership/index.js +5 -0
- package/dist/module/src/mothership/test.js +44 -25
- package/dist/module/src/types/features.js +31 -0
- package/dist/module/src/utils/api.js +41 -21
- package/dist/module/src/utils/featureUtils.js +24 -0
- package/dist/module/src/utils/logFiles.js +21 -0
- package/dist/module/src/utils/makePrompt.js +108 -0
- package/dist/module/src/web.html.js +2 -6
- package/dist/module/testeranto.config.js +62 -34
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/App.css +444 -12
- package/dist/prebuild/App.js +1318 -1053
- package/dist/prebuild/build.mjs +87 -103
- package/dist/prebuild/mothership/index.mjs +5 -0
- package/dist/prebuild/run.mjs +342 -211
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/App.d.ts +1 -0
- package/dist/types/PM/layers/main/components/SidecarManager.d.ts +0 -0
- package/dist/types/PM/layers/main/components/TestRunner.d.ts +0 -0
- package/dist/types/{src/PM → PM}/main.d.ts +18 -3
- package/dist/types/{src/PM → PM}/pure.d.ts +7 -4
- package/dist/types/PM/types.d.ts +0 -0
- package/dist/types/{src/PM → PM}/web.d.ts +1 -1
- package/dist/types/{src/Types.d.ts → Types.d.ts} +1 -0
- package/dist/types/components/SunriseAnimation.d.ts +5 -0
- package/dist/types/components/SunriseAnimation.test/implementation.d.ts +0 -0
- package/dist/types/components/SunriseAnimation.test/index.d.ts +0 -0
- package/dist/types/components/SunriseAnimation.test/interface.d.ts +11 -0
- package/dist/types/components/SunriseAnimation.test/specification.d.ts +0 -0
- package/dist/types/components/SunriseAnimation.test/types.d.ts +39 -0
- package/dist/types/components/pure/AppFrame.d.ts +9 -0
- package/dist/types/components/pure/AppFrame.test/implementation.d.ts +3 -0
- package/dist/types/components/pure/AppFrame.test/index.d.ts +5 -0
- package/dist/types/components/pure/AppFrame.test/types.d.ts +33 -0
- package/dist/types/components/pure/FeaturesReporterView.d.ts +7 -0
- package/dist/types/{src/components/pure/ProjectPageView.test → components/pure/FeaturesReporterView.test}/index.d.ts +1 -2
- package/dist/types/components/pure/FeaturesReporterView.test/specification.d.ts +3 -0
- package/dist/types/components/pure/FeaturesReporterView.test/types.d.ts +54 -0
- package/dist/types/components/pure/ModalContent.d.ts +7 -0
- package/dist/types/components/pure/ModalContent.test/implementation.d.ts +3 -0
- package/dist/types/components/pure/ModalContent.test/index.d.ts +2 -0
- package/dist/types/components/pure/ModalContent.test/specification.d.ts +3 -0
- package/dist/types/components/pure/ModalContent.test/types.d.ts +45 -0
- package/dist/types/components/pure/ProjectPageView.d.ts +14 -0
- package/dist/types/components/pure/ProjectPageView.test/implementation.d.ts +3 -0
- package/dist/types/components/pure/ProjectPageView.test/index.d.ts +2 -0
- package/dist/types/components/pure/ProjectPageView.test/specification.d.ts +3 -0
- package/dist/types/components/pure/ProjectPageView.test/types.d.ts +57 -0
- package/dist/types/components/pure/ProjectsPageView.d.ts +29 -0
- package/dist/types/components/pure/SettingsButton.d.ts +3 -0
- package/dist/types/components/pure/TestPageView.d.ts +15 -0
- package/dist/types/components/pure/TestPageView.test/implementation.d.ts +11 -0
- package/dist/types/components/pure/TestPageView.test/index.d.ts +32 -0
- package/dist/types/components/pure/TestPageView.test/specification.d.ts +11 -0
- package/dist/types/components/pure/TestPageView.test/types.d.ts +65 -0
- package/dist/types/components/pure/ThemeCard.d.ts +9 -0
- package/dist/types/components/stateful/FeaturesReporter.d.ts +2 -0
- package/dist/types/components/stateful/ProjectPage.d.ts +1 -0
- package/dist/types/components/stateful/ProjectsPage.d.ts +1 -0
- package/dist/types/components/stateful/TestPage.d.ts +1 -0
- package/dist/types/init-docs.d.ts +1 -0
- package/dist/types/{src/lib → lib}/abstractBase.d.ts +1 -1
- package/dist/types/{src/lib → lib}/abstractBase.test/MockGiven.d.ts +1 -1
- package/dist/types/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +3 -0
- package/dist/types/{src/lib → lib}/index.d.ts +7 -7
- package/dist/types/run.d.ts +1 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/types/features.d.ts +7 -0
- package/dist/types/{src/utils → utils}/api.d.ts +1 -5
- package/dist/types/utils/featureUtils.d.ts +6 -0
- package/dist/types/utils/logFiles.d.ts +7 -0
- package/dist/types/utils/makePrompt.d.ts +2 -0
- package/dist/types/{src/web.html.d.ts → web.html.d.ts} +1 -1
- package/docs/index.md +17 -0
- package/docs/testing.prompt.txt +1 -3
- package/docs.html +28 -10
- package/index.d.ts +38 -13
- package/index.html +59 -205
- package/marketing.md +166 -0
- package/package.json +15 -7
- package/scripts/compile-docs.js +24 -14
- package/smil30/SMIL-anim.mod.xsd +163 -0
- package/smil30/SMIL-control.mod.xsd +73 -0
- package/smil30/SMIL-layout.mod.xsd +149 -0
- package/smil30/SMIL-link.mod.xsd +145 -0
- package/smil30/SMIL-media.mod.xsd +1646 -0
- package/smil30/SMIL-metainformation.mod.xsd +45 -0
- package/smil30/SMIL-smiltext.mod.xsd +353 -0
- package/smil30/SMIL-state.mod.xsd +133 -0
- package/smil30/SMIL-struct.mod.xsd +70 -0
- package/smil30/SMIL-timing.mod.xsd +105 -0
- package/smil30/SMIL-transition.mod.xsd +229 -0
- package/smil30/SMIL.xsd +63 -0
- package/smil30/its.xsd +42 -0
- package/smil30/smil-attribs-1.mod.xsd +610 -0
- package/smil30/smil-datatypes-1.mod.xsd +72 -0
- package/smil30/smil-framework-1.mod.xsd +45 -0
- package/smil30/xml.xsd +16 -0
- package/src/App.scss +4 -13
- package/src/App.tsx +11 -25
- package/src/Node.ts +6 -9
- package/src/PM/PM_WithEslintAndTsc.ts +7 -93
- package/src/PM/__tests__/nodeSidecar.testeranto.ts +2 -0
- package/src/PM/base.ts +0 -3
- package/src/PM/layers/base/PM_Base.ts +0 -0
- package/src/PM/layers/base/components/PageOperations.testeranto.ts +0 -0
- package/src/PM/layers/base/components/PageOperations.ts +0 -0
- package/src/PM/layers/linting/components/Linter.ts +0 -0
- package/src/PM/layers/linting/components/TypeChecker.ts +0 -0
- package/src/PM/layers/main/components/SidecarManager.ts +0 -0
- package/src/PM/layers/main/components/TestRunner.ts +0 -0
- package/src/PM/main.ts +249 -120
- package/src/PM/nodeSidecar.ts +1 -0
- package/src/PM/pure.ts +15 -21
- package/src/PM/pureSidecar.ts +1 -1
- package/src/PM/types.ts +0 -0
- package/src/PM/web.ts +2 -1
- package/src/Pure.test.ts +21 -20
- package/src/Pure.ts +1 -1
- package/src/README.md +66 -0
- package/src/Types.ts +1 -0
- package/src/build.ts +28 -54
- package/src/components/{pure/ProjectPageView.test/index.ts → SunriseAnimation.test/index.tsx} +7 -4
- package/src/components/SunriseAnimation.test/interface.ts +49 -0
- package/src/components/SunriseAnimation.test/types.ts +53 -0
- package/src/components/TestStatusBadge.tsx +2 -23
- package/src/components/pure/AppFrame.test/implementation.tsx +72 -0
- package/src/components/pure/AppFrame.test/index.tsx +22 -0
- package/src/components/pure/AppFrame.test/specification.ts +35 -0
- package/src/components/pure/AppFrame.test/types.ts +65 -0
- package/src/components/pure/AppFrame.tsx +29 -0
- package/src/components/pure/FeaturesReporterView.test/implementation.tsx +106 -0
- package/src/components/pure/FeaturesReporterView.test/index.tsx +18 -0
- package/src/components/pure/FeaturesReporterView.test/specification.ts +39 -0
- package/src/components/pure/FeaturesReporterView.test/types.ts +77 -0
- package/src/components/pure/FeaturesReporterView.tsx +37 -0
- package/src/components/pure/ModalContent.test/implementation.tsx +43 -0
- package/src/components/pure/ModalContent.test/index.tsx +15 -0
- package/src/components/pure/ModalContent.test/specification.ts +27 -0
- package/src/components/pure/ModalContent.test/types.ts +72 -0
- package/src/components/pure/ModalContent.tsx +182 -0
- package/src/components/pure/ProjectPageView.test/implementation.tsx +135 -36
- package/src/components/pure/ProjectPageView.test/index.tsx +20 -0
- package/src/components/pure/ProjectPageView.test/specification.ts +15 -2
- package/src/components/pure/ProjectPageView.test/types.ts +57 -13
- package/src/components/pure/ProjectPageView.tsx +155 -121
- package/src/components/pure/ProjectsPageView.tsx +36 -5
- package/src/components/pure/SettingsButton.md +1 -0
- package/src/components/pure/SettingsButton.tsx +66 -0
- package/src/components/pure/TestPageView.test/implementation.ts +194 -0
- package/src/components/pure/TestPageView.test/index.tsx +20 -0
- package/src/components/pure/TestPageView.test/specification.ts +59 -0
- package/src/components/pure/TestPageView.test/types.ts +92 -0
- package/src/components/pure/TestPageView.tsx +272 -283
- package/src/components/pure/ThemeCard.tsx +34 -0
- package/src/components/stateful/FeaturesReporter.tsx +24 -0
- package/src/components/stateful/ProjectPage.tsx +4 -3
- package/src/components/stateful/TestPage.tsx +27 -18
- package/src/defaultConfig.ts +1 -0
- package/src/esbuildConfigs/web.ts +2 -1
- package/src/lib/BaseSuite.test/mock.ts +1 -27
- package/src/lib/BaseSuite.test/test.ts +15 -37
- package/src/lib/BaseSuite.ts +3 -0
- package/src/lib/Sidecar.ts +2 -0
- package/src/lib/abstractBase.test/MockGiven.ts +1 -1
- package/src/lib/abstractBase.ts +15 -7
- package/src/lib/baseBuilder.test/baseBuilder.test.adapter.ts +0 -6
- package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +3 -1
- package/src/lib/baseBuilder.test/baseBuilder.test.mock.ts +27 -17
- package/src/lib/baseBuilder.test/baseBuilder.test.pure.ts +1 -1
- package/src/lib/basebuilder.ts +46 -47
- package/src/lib/classBuilder.ts +3 -0
- package/src/lib/core.test/MockCore.ts +0 -23
- package/src/lib/core.test/core.test.adapter.ts +6 -12
- package/src/lib/core.test/core.test.implementation.ts +7 -10
- package/src/lib/core.ts +2 -1
- package/src/lib/index.ts +9 -8
- package/src/lib/pmProxy.test/adapter.ts +8 -2
- package/src/lib/pmProxy.test/implementation.ts +40 -7
- package/src/lib/pmProxy.test/mockPMBase.ts +11 -0
- package/src/lib/pmProxy.ts +2 -2
- package/src/lib/types.ts +2 -0
- package/src/mothership/index.ts +6 -0
- package/src/mothership/test.ts +53 -26
- package/src/style.md +2 -0
- package/src/style.scss +16 -0
- package/src/templates/frontpage.html +54 -0
- package/src/themes.scss +9 -9
- package/src/types/features.ts +38 -0
- package/src/utils/api.ts +59 -29
- package/src/utils/featureUtils.tsx +42 -0
- package/src/utils/logFiles.ts +26 -0
- package/src/utils/makePrompt.ts +148 -0
- package/src/web.html.ts +6 -6
- package/style.css +28 -9
- package/testeranto/App.css +444 -12
- package/testeranto/App.js +1318 -1053
- package/testeranto/bundles/node/core/chunk-JBB5E3XJ.mjs +258 -0
- package/testeranto/bundles/node/core/chunk-L67RWZ4W.mjs +899 -0
- package/testeranto/bundles/node/core/chunk-ZQRRQYS4.mjs +92 -0
- package/testeranto/bundles/node/core/metafile.json +5729 -2
- package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +307 -0
- package/testeranto/bundles/node/core/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +247 -0
- package/testeranto/bundles/node/core/src/lib/classBuilder.test/classBuilder.test.mjs +423 -0
- package/testeranto/bundles/node/core/src/lib/core.test/core.test.mjs +505 -0
- package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +4804 -0
- package/testeranto/bundles/node/core/src/mothership/test.mjs +24588 -0
- package/testeranto/bundles/pure/core/chunk-KHJ35R7C.mjs +997 -0
- package/testeranto/bundles/pure/core/metafile.json +870 -3
- package/testeranto/bundles/pure/core/src/Pure.test.mjs +428 -0
- package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +379 -0
- package/testeranto/bundles/pure/core/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +235 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Black-O75GP5JI.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Bold-R524Q5BH.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-ExtraBold-C6GRMYVT.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Light-WKN65Y2C.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Medium-ZC4DWL7C.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Regular-DT6EKZ3S.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Thin-YWDNVG6M.ttf +0 -0
- package/testeranto/bundles/web/core/chunk-BADF3AZF.mjs +108 -0
- package/testeranto/bundles/web/core/chunk-BXV27S2S.mjs +6252 -0
- package/testeranto/bundles/web/core/chunk-EIYZKF2C.mjs +223 -0
- package/testeranto/bundles/web/core/chunk-FNXFUNA7.mjs +28528 -0
- package/testeranto/bundles/web/core/chunk-LU364HVS.mjs +3311 -0
- package/testeranto/bundles/web/core/chunk-QWII7WIM.mjs +2281 -0
- package/testeranto/bundles/web/core/chunk-VAYOSMXI.mjs +21775 -0
- package/testeranto/bundles/web/core/metafile.json +7883 -4742
- package/testeranto/bundles/web/core/src/components/pure/AppFrame.test/index.css +12105 -0
- package/testeranto/bundles/web/core/src/components/pure/AppFrame.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/components/pure/AppFrame.test/index.mjs +517 -0
- package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.mjs +166 -0
- package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.css +12105 -0
- package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.mjs +93 -0
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.css +12105 -0
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +1 -5
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +280 -39928
- package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.css +12105 -0
- package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.mjs +483 -0
- package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +15 -0
- package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.mjs +394 -0
- package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.html +15 -0
- package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +256 -0
- package/testeranto/reports/core/config.json +127 -2
- package/testeranto/reports/core/src/Pure.test/pure/exit.log +0 -0
- package/testeranto/reports/core/src/Pure.test/pure/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/Pure.test/pure/message.txt +17 -0
- package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +14 -0
- package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +106 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/error.log +22 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/info.log +4 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/lint_errors.txt +2 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/message.txt +17 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/prompt.txt +18 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/tests.json +57 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/type_errors.txt +55 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +56 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +2 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/message.txt +17 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/prompt.txt +16 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/suite-0/given-basicRender/then-4/butThen/features-reporter.png +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/tests.json +76 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/type_errors.txt +80 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/error.log +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/exit.log +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/info.log +4 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/message.txt +17 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/prompt.txt +15 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/suite-0/given-basicRender/then-2/butThen/modal-content.png +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/tests.json +42 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/type_errors.txt +65 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +33 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +4 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +2 -18
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +16 -1
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +3 -14
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-6/butThen/happy-state.png +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-errorHandling/then-1/butThen/error-state.png +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/tests.json +99 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +69 -28
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/error.log +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/info.log +2 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/message.txt +17 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/prompt.txt +18 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/tests.json +69 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/type_errors.txt +111 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +14 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +31 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +113 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/exit.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/message.txt +17 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +15 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +113 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/debug.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +1 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/exit.log +1 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/info.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/message.txt +17 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +15 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/tests.json +31 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +113 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/warn.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stdout.log +2 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +71 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +65 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/exit.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +17 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +65 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/debug.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/error.log +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/exit.log +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/info.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/message.txt +17 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +71 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +65 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/warn.log +0 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stdout.log +619 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/tests.json +165 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +140 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/lint_errors.txt +21 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/prompt.txt +19 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/stdout.log +0 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/type_errors.txt +64 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +23 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +0 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +162 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +78 -0
- package/testeranto/reports/core/src/mothership/test/node/exit.log +1 -0
- package/testeranto/reports/core/src/mothership/test/node/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/mothership/test/node/message.txt +17 -0
- package/testeranto/reports/core/src/mothership/test/node/prompt.txt +14 -0
- package/testeranto/reports/core/src/mothership/test/node/stderr.log +27 -0
- package/testeranto/reports/core/src/mothership/test/node/stdout.log +8 -0
- package/testeranto/reports/core/src/mothership/test/node/tests.json +36 -0
- package/testeranto/reports/core/src/mothership/test/node/type_errors.txt +38 -0
- package/testeranto/reports/core/summary.json +109 -4
- package/testeranto.config.ts +64 -34
- package/tsc.log +356 -210
- package/tsconfig.common.json +4 -2
- package/tsconfig.json +9 -7
- package/tsconfig.module.json +3 -2
- package/tsconfig.types.json +3 -1
- package/videos/download-smil-xsd.sh +29 -0
- package/videos/project0/index.md +72 -0
- package/videos/project0/narration.json +7 -0
- package/videos/project0/narration.ssml +58 -0
- package/videos/project0/package.json +21 -0
- package/videos/project0/presentation.smil +25 -0
- package/videos/project0/smil30/SMIL-anim.mod.xsd +163 -0
- package/videos/project0/smil30/SMIL-anim.mod.xsd.1 +163 -0
- package/videos/project0/smil30/SMIL-anim.mod.xsd.2 +163 -0
- package/videos/project0/smil30/SMIL-control.mod.xsd +73 -0
- package/videos/project0/smil30/SMIL-control.mod.xsd.1 +73 -0
- package/videos/project0/smil30/SMIL-control.mod.xsd.2 +73 -0
- package/videos/project0/smil30/SMIL-layout.mod.xsd +149 -0
- package/videos/project0/smil30/SMIL-layout.mod.xsd.1 +149 -0
- package/videos/project0/smil30/SMIL-layout.mod.xsd.2 +149 -0
- package/videos/project0/smil30/SMIL-link.mod.xsd +145 -0
- package/videos/project0/smil30/SMIL-link.mod.xsd.1 +145 -0
- package/videos/project0/smil30/SMIL-link.mod.xsd.2 +145 -0
- package/videos/project0/smil30/SMIL-media.mod.xsd +1646 -0
- package/videos/project0/smil30/SMIL-media.mod.xsd.1 +1646 -0
- package/videos/project0/smil30/SMIL-media.mod.xsd.2 +1646 -0
- package/videos/project0/smil30/SMIL-metainformation.mod.xsd +45 -0
- package/videos/project0/smil30/SMIL-metainformation.mod.xsd.1 +45 -0
- package/videos/project0/smil30/SMIL-metainformation.mod.xsd.2 +45 -0
- package/videos/project0/smil30/SMIL-smiltext.mod.xsd +353 -0
- package/videos/project0/smil30/SMIL-smiltext.mod.xsd.1 +353 -0
- package/videos/project0/smil30/SMIL-smiltext.mod.xsd.2 +353 -0
- package/videos/project0/smil30/SMIL-state.mod.xsd +133 -0
- package/videos/project0/smil30/SMIL-state.mod.xsd.1 +133 -0
- package/videos/project0/smil30/SMIL-state.mod.xsd.2 +133 -0
- package/videos/project0/smil30/SMIL-struct.mod.xsd +70 -0
- package/videos/project0/smil30/SMIL-struct.mod.xsd.1 +70 -0
- package/videos/project0/smil30/SMIL-struct.mod.xsd.2 +70 -0
- package/videos/project0/smil30/SMIL-timing.mod.xsd +105 -0
- package/videos/project0/smil30/SMIL-timing.mod.xsd.1 +105 -0
- package/videos/project0/smil30/SMIL-timing.mod.xsd.2 +105 -0
- package/videos/project0/smil30/SMIL-transition.mod.xsd +229 -0
- package/videos/project0/smil30/SMIL-transition.mod.xsd.1 +229 -0
- package/videos/project0/smil30/SMIL-transition.mod.xsd.2 +229 -0
- package/videos/project0/smil30/SMIL.xsd +63 -0
- package/videos/project0/smil30/SMIL.xsd.1 +63 -0
- package/videos/project0/smil30/SMIL.xsd.2 +63 -0
- package/videos/project0/smil30/its.xsd +42 -0
- package/videos/project0/smil30/its.xsd.1 +42 -0
- package/videos/project0/smil30/its.xsd.2 +42 -0
- package/videos/project0/smil30/smil-attribs-1.mod.xsd +610 -0
- package/videos/project0/smil30/smil-attribs-1.mod.xsd.1 +610 -0
- package/videos/project0/smil30/smil-attribs-1.mod.xsd.2 +610 -0
- package/videos/project0/smil30/smil-datatypes-1.mod.xsd +72 -0
- package/videos/project0/smil30/smil-datatypes-1.mod.xsd.1 +72 -0
- package/videos/project0/smil30/smil-datatypes-1.mod.xsd.2 +72 -0
- package/videos/project0/smil30/smil-framework-1.mod.xsd +45 -0
- package/videos/project0/smil30/smil-framework-1.mod.xsd.1 +45 -0
- package/videos/project0/smil30/smil-framework-1.mod.xsd.2 +45 -0
- package/videos/project0/smil30/smil-profile-model-1.mod.xsd +1331 -0
- package/videos/project0/smil30/smil-profile-model-1.mod.xsd.1 +1331 -0
- package/videos/project0/smil30/smil-qname-1.mod.xsd +121 -0
- package/videos/project0/smil30/smil-qname-1.mod.xsd.1 +121 -0
- package/videos/project0/smil30/xml.xsd +16 -0
- package/videos/project0/smil30/xml.xsd.1 +16 -0
- package/videos/project0/smil30/xml.xsd.2 +16 -0
- package/videos/project0/smil30.xsd +137 -0
- package/videos/project0/src/audio/metadata.json +5 -0
- package/videos/project0/src/audio/narration.mp3 +0 -0
- package/videos/project0/src/motion-canvas.d.ts +1 -0
- package/videos/project0/src/project.meta +31 -0
- package/videos/project0/src/project.ts +13 -0
- package/videos/project0/src/scenes/example.meta +5 -0
- package/videos/project0/src/scenes/scene1.meta +3 -0
- package/videos/project0/src/scenes/scene1.tsx +129 -0
- package/videos/project0/src/scenes/scene2.tsx +132 -0
- package/videos/project0/src/scenes/scene3.meta +26 -0
- package/videos/project0/src/scenes/scene3.tsx +188 -0
- package/videos/project0/tsconfig.json +4 -0
- package/videos/project0/vite.config.ts +10 -0
- package/videos/trash/output/project.mp4 +0 -0
- package/videos/trash/text.mp4 +0 -0
- package/videos/trash/video/project.tsx +549 -0
- package/videos/trash/video/render.ts +15 -0
- package/videos/trash/vite.config.ts +10 -0
- package/videos/tts.js +109 -0
- package/dist/common/src/components/pure/ProjectPageView.test/adapter.js +0 -20
- package/dist/common/src/lib/dailyAnimation.js +0 -130
- package/dist/module/src/Footer.js +0 -5
- package/dist/module/src/ProjectPage.js +0 -319
- package/dist/module/src/ProjectsPage.js +0 -1
- package/dist/module/src/SettingsButton.js +0 -157
- package/dist/module/src/TestPage.js +0 -271
- package/dist/module/src/TestReport.js +0 -368
- package/dist/module/src/components/pure/ProjectPageView.test/adapter.js +0 -17
- package/dist/module/src/lib/dailyAnimation.js +0 -130
- package/dist/types/src/components/pure/ProjectPageView.d.ts +0 -14
- package/dist/types/src/components/pure/ProjectPageView.test/adapter.d.ts +0 -3
- package/dist/types/src/components/pure/ProjectPageView.test/types.d.ts +0 -39
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +0 -3
- package/dist/types/testeranto.config.d.ts +0 -3
- package/docs/testing.ai.txt +0 -106
- package/src/Footer.tsx +0 -8
- package/src/Project.scss +0 -1
- package/src/ProjectPage.tsx +0 -459
- package/src/ProjectsPage.tsx +0 -1
- package/src/ReportApp.scss +0 -1
- package/src/SettingsButton.tsx +0 -268
- package/src/TestPage.tsx +0 -476
- package/src/TestReport.scss +0 -24
- package/src/TestReport.tsx +0 -411
- package/src/components/pure/ProjectPageView.test/adapter.ts +0 -21
- package/src/lib/dailyAnimation.ts +0 -147
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/logs.txt +0 -59
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-0/butThen/happyPath.png +0 -0
- /package/dist/common/src/{NavBar.js → components/pure/NavBar.js} +0 -0
- /package/dist/{types/src/ReportServer.d.ts → module/src/components/SunriseAnimation.test/types.js} +0 -0
- /package/dist/{types/src/build.d.ts → module/src/components/pure/FeaturesReporterView.test/types.js} +0 -0
- /package/dist/module/src/{NavBar.js → components/pure/NavBar.js} +0 -0
- /package/dist/types/{src/CoreTypes.d.ts → CoreTypes.d.ts} +0 -0
- /package/dist/types/{src/Init.d.ts → Init.d.ts} +0 -0
- /package/dist/types/{src/Node.d.ts → Node.d.ts} +0 -0
- /package/dist/types/{src/NodeSidecar.d.ts → NodeSidecar.d.ts} +0 -0
- /package/dist/types/{src/PM → PM}/PM_WithEslintAndTsc.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/__tests__/nodeSidecar.testeranto.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/__tests__/pureSidecar.testeranto.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/__tests__/webSidecar.testeranto.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/base.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/index.d.ts +0 -0
- /package/dist/types/{src/components/SunriseAnimation.test/implementation.d.ts → PM/layers/base/PM_Base.d.ts} +0 -0
- /package/dist/types/{src/components/SunriseAnimation.test/index.d.ts → PM/layers/base/components/PageOperations.d.ts} +0 -0
- /package/dist/types/{src/components/SunriseAnimation.test/interface.d.ts → PM/layers/base/components/PageOperations.testeranto.d.ts} +0 -0
- /package/dist/types/{src/components/SunriseAnimation.test/specification.d.ts → PM/layers/linting/components/Linter.d.ts} +0 -0
- /package/dist/types/{src/lib/dailyAnimation.d.ts → PM/layers/linting/components/TypeChecker.d.ts} +0 -0
- /package/dist/types/{src/PM → PM}/node.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/nodeSidecar.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/pureSidecar.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/sidecar.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/webSidecar.d.ts +0 -0
- /package/dist/types/{src/Pure.d.ts → Pure.d.ts} +0 -0
- /package/dist/types/{src/Pure.test.d.ts → Pure.test.d.ts} +0 -0
- /package/dist/types/{src/PureSidecar.d.ts → PureSidecar.d.ts} +0 -0
- /package/dist/types/{src/init-docs.d.ts → ReportServer.d.ts} +0 -0
- /package/dist/types/{src/ReportServer.test.ts → ReportServer.test.ts}/index.d.ts +0 -0
- /package/dist/types/{src/ReportServerLib.d.ts → ReportServerLib.d.ts} +0 -0
- /package/dist/types/{src/Web.d.ts → Web.d.ts} +0 -0
- /package/dist/types/{src/WebSidecar.d.ts → WebSidecar.d.ts} +0 -0
- /package/dist/types/{src/run.d.ts → build.d.ts} +0 -0
- /package/dist/types/{src/components → components}/TestStatusBadge.d.ts +0 -0
- /package/dist/types/{src/components/pure/ProjectPageView.test → components/pure/AppFrame.test}/specification.d.ts +0 -0
- /package/dist/types/{src/components/pure/ProjectPageView.test → components/pure/FeaturesReporterView.test}/implementation.d.ts +0 -0
- /package/dist/types/{src → components/pure}/NavBar.d.ts +0 -0
- /package/dist/types/{src/defaultConfig.d.ts → defaultConfig.d.ts} +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/consoleDetectorPlugin.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/eslint-formatter-testeranto.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/index.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/inputFilesPlugin.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/nativeImportDetectorPlugin.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/node.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/pure.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/rebuildPlugin.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/web.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/BaseSuite.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/BaseSuite.test/mock.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/BaseSuite.test/node.test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/BaseSuite.test/pure.test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/BaseSuite.test/test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/BaseSuite.test/web.test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/Sidecar.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/MockThen.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/MockWhen.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/adapter.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/implementation.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/index.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/specification.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/types.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.adapter.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.implementation.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.mock.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.node.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.specification.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.types.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.web.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/basebuilder.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.adapter.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.implementation.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.specification.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.types.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.test/mock.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.test/MockCore.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.test/core.test.adapter.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.test/core.test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.test/core.test.implementation.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.test/core.test.specification.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.test/core.test.types.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/mocks.test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/adapter.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/implementation.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/index.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/mockPM.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/mockPMBase.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/specification.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/types.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/types.d.ts +0 -0
- /package/dist/types/{src/mothership → mothership}/index.d.ts +0 -0
- /package/dist/types/{src/mothership → mothership}/test.d.ts +0 -0
- /package/dist/types/{src/utils → utils}/buildTemplates.d.ts +0 -0
- /package/dist/types/{src/utils → utils}/queue.d.ts +0 -0
- /package/dist/types/{src/utils.d.ts → utils.d.ts} +0 -0
- /package/src/{NavBar.tsx → components/pure/NavBar.tsx} +0 -0
package/dist/prebuild/run.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import readline from "readline";
|
|
|
8
8
|
import { spawn } from "node:child_process";
|
|
9
9
|
import ansiColors from "ansi-colors";
|
|
10
10
|
import net from "net";
|
|
11
|
-
import
|
|
11
|
+
import fs4, { watch } from "fs";
|
|
12
12
|
import path4 from "path";
|
|
13
13
|
import puppeteer from "puppeteer-core";
|
|
14
14
|
import ansiC2 from "ansi-colors";
|
|
@@ -123,8 +123,7 @@ var Queue = class {
|
|
|
123
123
|
|
|
124
124
|
// src/PM/PM_WithEslintAndTsc.ts
|
|
125
125
|
import ts from "typescript";
|
|
126
|
-
import
|
|
127
|
-
import path3 from "path";
|
|
126
|
+
import fs3 from "fs";
|
|
128
127
|
import ansiC from "ansi-colors";
|
|
129
128
|
import { ESLint } from "eslint";
|
|
130
129
|
import tsc from "tsc-prog";
|
|
@@ -250,7 +249,6 @@ var PM_Base = class {
|
|
|
250
249
|
const filepath = x[0];
|
|
251
250
|
const contents = x[1];
|
|
252
251
|
const testName = x[2];
|
|
253
|
-
console.log("writing file", filepath);
|
|
254
252
|
return new Promise(async (res) => {
|
|
255
253
|
fs.mkdirSync(path2.dirname(filepath), {
|
|
256
254
|
recursive: true
|
|
@@ -390,6 +388,113 @@ var PM_Base = class {
|
|
|
390
388
|
}
|
|
391
389
|
};
|
|
392
390
|
|
|
391
|
+
// src/utils/makePrompt.ts
|
|
392
|
+
import fs2 from "fs";
|
|
393
|
+
import path3 from "path";
|
|
394
|
+
|
|
395
|
+
// src/utils/logFiles.ts
|
|
396
|
+
var NODE_LOG_FILES = ["stdout.log", "stderr.log", "exit.log"];
|
|
397
|
+
var WEB_LOG_FILES = [
|
|
398
|
+
"info.log",
|
|
399
|
+
"debug.log",
|
|
400
|
+
"error.log",
|
|
401
|
+
"warn.log",
|
|
402
|
+
"exit.log"
|
|
403
|
+
];
|
|
404
|
+
var PURE_LOG_FILES = ["exit.log"];
|
|
405
|
+
var getLogFilesForRuntime = (runtime) => {
|
|
406
|
+
switch (runtime) {
|
|
407
|
+
case "node":
|
|
408
|
+
return NODE_LOG_FILES;
|
|
409
|
+
case "web":
|
|
410
|
+
return WEB_LOG_FILES;
|
|
411
|
+
case "pure":
|
|
412
|
+
return PURE_LOG_FILES;
|
|
413
|
+
default:
|
|
414
|
+
throw new Error(`Unknown runtime: ${runtime}`);
|
|
415
|
+
}
|
|
416
|
+
};
|
|
417
|
+
|
|
418
|
+
// src/utils/makePrompt.ts
|
|
419
|
+
var makePrompt = async (summary, name, entryPoint, addableFiles, runtime) => {
|
|
420
|
+
summary[entryPoint].prompt = "?";
|
|
421
|
+
const promptPath = promptPather(entryPoint, runtime, name);
|
|
422
|
+
const testDir = path3.join(
|
|
423
|
+
"testeranto",
|
|
424
|
+
"reports",
|
|
425
|
+
name,
|
|
426
|
+
entryPoint.split(".").slice(0, -1).join("."),
|
|
427
|
+
runtime
|
|
428
|
+
);
|
|
429
|
+
if (!fs2.existsSync(testDir)) {
|
|
430
|
+
fs2.mkdirSync(testDir, { recursive: true });
|
|
431
|
+
}
|
|
432
|
+
const testPaths = path3.join(testDir, "tests.json");
|
|
433
|
+
const lintPath = path3.join(testDir, "lint_errors.txt");
|
|
434
|
+
const typePath = path3.join(testDir, "type_errors.txt");
|
|
435
|
+
const messagePath = path3.join(testDir, "message.txt");
|
|
436
|
+
try {
|
|
437
|
+
await Promise.all([
|
|
438
|
+
fs2.promises.writeFile(
|
|
439
|
+
promptPath,
|
|
440
|
+
`
|
|
441
|
+
${addableFiles.map((x) => {
|
|
442
|
+
return `/add ${x}`;
|
|
443
|
+
}).join("\n")}
|
|
444
|
+
|
|
445
|
+
/read node_modules/testeranto/docs/index.md
|
|
446
|
+
/read node_modules/testeranto/docs/style.md
|
|
447
|
+
/read node_modules/testeranto/docs/testing.ai.txt
|
|
448
|
+
/read node_modules/testeranto/src/CoreTypes.ts
|
|
449
|
+
|
|
450
|
+
/read ${testPaths}
|
|
451
|
+
/read ${typePath}
|
|
452
|
+
/read ${lintPath}
|
|
453
|
+
|
|
454
|
+
/read ${getLogFilesForRuntime(runtime).map((p) => `${testDir}/${p}`).join(" ")}
|
|
455
|
+
`
|
|
456
|
+
),
|
|
457
|
+
fs2.promises.writeFile(
|
|
458
|
+
messagePath,
|
|
459
|
+
`
|
|
460
|
+
There are 3 types of test reports.
|
|
461
|
+
1) bdd (highest priority)
|
|
462
|
+
2) type checker
|
|
463
|
+
3) static analysis (lowest priority)
|
|
464
|
+
|
|
465
|
+
"tests.json" is the detailed result of the bdd tests.
|
|
466
|
+
if these files do not exist, then something has gone badly wrong and needs to be addressed.
|
|
467
|
+
|
|
468
|
+
"type_errors.txt" is the result of the type checker.
|
|
469
|
+
if this file does not exist, then type check passed without errors;
|
|
470
|
+
|
|
471
|
+
"lint_errors.txt" is the result of the static analysis.
|
|
472
|
+
if this file does not exist, then static analysis passed without errors;
|
|
473
|
+
|
|
474
|
+
BDD failures are the highest priority. Focus on passing BDD tests before addressing other concerns.
|
|
475
|
+
Do not add error throwing/catching to the tests themselves.
|
|
476
|
+
`
|
|
477
|
+
)
|
|
478
|
+
]);
|
|
479
|
+
} catch (e) {
|
|
480
|
+
console.error(`Failed to write prompt files at ${testDir}`);
|
|
481
|
+
console.error(e);
|
|
482
|
+
throw e;
|
|
483
|
+
}
|
|
484
|
+
summary[entryPoint].prompt = `aider --model deepseek/deepseek-chat --load testeranto/${name}/reports/${runtime}/${entryPoint.split(".").slice(0, -1).join(".")}/prompt.txt`;
|
|
485
|
+
};
|
|
486
|
+
var makePromptInternal = (summary, name, entryPoint, addableFiles, runTime) => {
|
|
487
|
+
if (runTime === "node") {
|
|
488
|
+
return makePrompt(summary, name, entryPoint, addableFiles, "node");
|
|
489
|
+
}
|
|
490
|
+
if (runTime === "web") {
|
|
491
|
+
return makePrompt(summary, name, entryPoint, addableFiles, "web");
|
|
492
|
+
}
|
|
493
|
+
if (runTime === "pure") {
|
|
494
|
+
return makePrompt(summary, name, entryPoint, addableFiles, "pure");
|
|
495
|
+
}
|
|
496
|
+
};
|
|
497
|
+
|
|
393
498
|
// src/PM/PM_WithEslintAndTsc.ts
|
|
394
499
|
var eslint = new ESLint();
|
|
395
500
|
var formatter = await eslint.loadFormatter(
|
|
@@ -452,7 +557,7 @@ var PM_WithEslintAndTsc = class extends PM_Base {
|
|
|
452
557
|
);
|
|
453
558
|
}
|
|
454
559
|
});
|
|
455
|
-
|
|
560
|
+
fs3.writeFileSync(tscPath, results.join("\n"));
|
|
456
561
|
this.typeCheckIsNowDone(entrypoint, results.length);
|
|
457
562
|
};
|
|
458
563
|
this.eslintCheck = async (entrypoint, platform, addableFiles) => {
|
|
@@ -467,93 +572,25 @@ var PM_WithEslintAndTsc = class extends PM_Base {
|
|
|
467
572
|
process.exit(-1);
|
|
468
573
|
}
|
|
469
574
|
const filepath = lintPather(entrypoint, platform, this.name);
|
|
470
|
-
if (
|
|
471
|
-
|
|
575
|
+
if (fs3.existsSync(filepath))
|
|
576
|
+
fs3.rmSync(filepath);
|
|
472
577
|
const results = (await eslint.lintFiles(addableFiles)).filter((r) => r.messages.length).filter((r) => {
|
|
473
578
|
return r.messages[0].ruleId !== null;
|
|
474
579
|
}).map((r) => {
|
|
475
580
|
delete r.source;
|
|
476
581
|
return r;
|
|
477
582
|
});
|
|
478
|
-
|
|
583
|
+
fs3.writeFileSync(filepath, await formatter.format(results));
|
|
479
584
|
this.lintIsNowDone(entrypoint, results.length);
|
|
480
585
|
};
|
|
481
586
|
this.makePrompt = async (entryPoint, addableFiles, platform) => {
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
const testPaths = path3.join(
|
|
485
|
-
"testeranto",
|
|
486
|
-
"reports",
|
|
587
|
+
await makePromptInternal(
|
|
588
|
+
this.summary,
|
|
487
589
|
this.name,
|
|
488
|
-
entryPoint
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
);
|
|
492
|
-
const featuresPath = path3.join(
|
|
493
|
-
"testeranto",
|
|
494
|
-
"reports",
|
|
495
|
-
this.name,
|
|
496
|
-
platform,
|
|
497
|
-
entryPoint.split(".").slice(0, -1).join("."),
|
|
498
|
-
`featurePrompt.txt`
|
|
499
|
-
);
|
|
500
|
-
const logPath = path3.join(
|
|
501
|
-
"testeranto",
|
|
502
|
-
"reports",
|
|
503
|
-
this.name,
|
|
504
|
-
entryPoint.split(".").slice(0, -1).join("."),
|
|
505
|
-
platform,
|
|
506
|
-
`logs.txt`
|
|
507
|
-
);
|
|
508
|
-
const lintPath = path3.join(
|
|
509
|
-
"testeranto",
|
|
510
|
-
"reports",
|
|
511
|
-
this.name,
|
|
512
|
-
entryPoint.split(".").slice(0, -1).join("."),
|
|
513
|
-
platform,
|
|
514
|
-
`lint_errors.txt`
|
|
515
|
-
);
|
|
516
|
-
const typePath = path3.join(
|
|
517
|
-
"testeranto",
|
|
518
|
-
"reports",
|
|
519
|
-
this.name,
|
|
520
|
-
entryPoint.split(".").slice(0, -1).join("."),
|
|
521
|
-
platform,
|
|
522
|
-
`type_errors.txt`
|
|
523
|
-
);
|
|
524
|
-
const messagePath = path3.join(
|
|
525
|
-
"testeranto",
|
|
526
|
-
"reports",
|
|
527
|
-
this.name,
|
|
528
|
-
entryPoint.split(".").slice(0, -1).join("."),
|
|
529
|
-
platform,
|
|
530
|
-
`message.txt`
|
|
531
|
-
);
|
|
532
|
-
fs2.writeFileSync(
|
|
533
|
-
promptPath,
|
|
534
|
-
`
|
|
535
|
-
${addableFiles.map((x) => {
|
|
536
|
-
return `/add ${x}`;
|
|
537
|
-
}).join("\n")}
|
|
538
|
-
|
|
539
|
-
/read node_modules/testeranto/docs/index.md
|
|
540
|
-
/read node_modules/testeranto/docs/style.md
|
|
541
|
-
/read node_modules/testeranto/docs/testing.ai.txt
|
|
542
|
-
/read node_modules/testeranto/src/CoreTypes.ts
|
|
543
|
-
|
|
544
|
-
/read ${testPaths}
|
|
545
|
-
/read ${logPath}
|
|
546
|
-
/read ${typePath}
|
|
547
|
-
/read ${lintPath}
|
|
548
|
-
`
|
|
549
|
-
);
|
|
550
|
-
fs2.writeFileSync(
|
|
551
|
-
messagePath,
|
|
552
|
-
`
|
|
553
|
-
Fix the failing tests described in ${testPaths} and ${logPath}. Focus on the bdd tests before all other concerns. You may add any debugging you think is necessary.
|
|
554
|
-
`
|
|
590
|
+
entryPoint,
|
|
591
|
+
addableFiles,
|
|
592
|
+
platform
|
|
555
593
|
);
|
|
556
|
-
this.summary[entryPoint].prompt = `aider --model deepseek/deepseek-chat --load testeranto/${this.name}/reports/${platform}/${entryPoint.split(".").slice(0, -1).join(".")}/prompt.txt`;
|
|
557
594
|
this.checkForShutdown();
|
|
558
595
|
};
|
|
559
596
|
this.typeCheckIsRunning = (src) => {
|
|
@@ -615,7 +652,7 @@ Fix the failing tests described in ${testPaths} and ${logPath}. Focus on the bdd
|
|
|
615
652
|
this.checkForShutdown();
|
|
616
653
|
};
|
|
617
654
|
this.writeBigBoard = () => {
|
|
618
|
-
|
|
655
|
+
fs3.writeFileSync(
|
|
619
656
|
`./testeranto/reports/${this.name}/summary.json`,
|
|
620
657
|
JSON.stringify(this.summary, null, 2)
|
|
621
658
|
);
|
|
@@ -651,10 +688,80 @@ var changes = {};
|
|
|
651
688
|
var fileHashes = {};
|
|
652
689
|
var files2 = {};
|
|
653
690
|
var screenshots2 = {};
|
|
691
|
+
function runtimeLogs(runtime, reportDest) {
|
|
692
|
+
const safeDest = reportDest || `testeranto/reports/default_${Date.now()}`;
|
|
693
|
+
try {
|
|
694
|
+
if (!fs4.existsSync(safeDest)) {
|
|
695
|
+
fs4.mkdirSync(safeDest, { recursive: true });
|
|
696
|
+
}
|
|
697
|
+
if (runtime === "node") {
|
|
698
|
+
return {
|
|
699
|
+
stdout: fs4.createWriteStream(`${safeDest}/stdout.log`),
|
|
700
|
+
stderr: fs4.createWriteStream(`${safeDest}/stderr.log`),
|
|
701
|
+
exit: fs4.createWriteStream(`${safeDest}/exit.log`)
|
|
702
|
+
};
|
|
703
|
+
} else if (runtime === "web") {
|
|
704
|
+
return {
|
|
705
|
+
info: fs4.createWriteStream(`${safeDest}/info.log`),
|
|
706
|
+
warn: fs4.createWriteStream(`${safeDest}/warn.log`),
|
|
707
|
+
error: fs4.createWriteStream(`${safeDest}/error.log`),
|
|
708
|
+
debug: fs4.createWriteStream(`${safeDest}/debug.log`),
|
|
709
|
+
exit: fs4.createWriteStream(`${safeDest}/exit.log`)
|
|
710
|
+
};
|
|
711
|
+
} else if (runtime === "pure") {
|
|
712
|
+
return {
|
|
713
|
+
exit: fs4.createWriteStream(`${safeDest}/exit.log`)
|
|
714
|
+
};
|
|
715
|
+
} else {
|
|
716
|
+
throw `unknown runtime: ${runtime}`;
|
|
717
|
+
}
|
|
718
|
+
} catch (e) {
|
|
719
|
+
console.error(`Failed to create log streams in ${safeDest}:`, e);
|
|
720
|
+
throw e;
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
function createLogStreams(reportDest, runtime) {
|
|
724
|
+
if (!fs4.existsSync(reportDest)) {
|
|
725
|
+
fs4.mkdirSync(reportDest, { recursive: true });
|
|
726
|
+
}
|
|
727
|
+
const streams = runtimeLogs(runtime, reportDest);
|
|
728
|
+
const safeDest = reportDest || `testeranto/reports/default_${Date.now()}`;
|
|
729
|
+
try {
|
|
730
|
+
if (!fs4.existsSync(safeDest)) {
|
|
731
|
+
fs4.mkdirSync(safeDest, { recursive: true });
|
|
732
|
+
}
|
|
733
|
+
const streams2 = runtimeLogs(runtime, safeDest);
|
|
734
|
+
return {
|
|
735
|
+
...streams2,
|
|
736
|
+
closeAll: () => {
|
|
737
|
+
Object.values(streams2).forEach(
|
|
738
|
+
(stream) => !stream.closed && stream.close()
|
|
739
|
+
);
|
|
740
|
+
},
|
|
741
|
+
writeExitCode: (code, error) => {
|
|
742
|
+
if (error) {
|
|
743
|
+
streams2.exit.write(`Error: ${error.message}
|
|
744
|
+
`);
|
|
745
|
+
if (error.stack) {
|
|
746
|
+
streams2.exit.write(`Stack Trace:
|
|
747
|
+
${error.stack}
|
|
748
|
+
`);
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
streams2.exit.write(`${code}
|
|
752
|
+
`);
|
|
753
|
+
},
|
|
754
|
+
exit: streams2.exit
|
|
755
|
+
};
|
|
756
|
+
} catch (e) {
|
|
757
|
+
console.error(`Failed to create log streams in ${safeDest}:`, e);
|
|
758
|
+
throw e;
|
|
759
|
+
}
|
|
760
|
+
}
|
|
654
761
|
async function fileHash(filePath, algorithm = "md5") {
|
|
655
762
|
return new Promise((resolve, reject) => {
|
|
656
763
|
const hash = crypto.createHash(algorithm);
|
|
657
|
-
const fileStream =
|
|
764
|
+
const fileStream = fs4.createReadStream(filePath);
|
|
658
765
|
fileStream.on("data", (data) => {
|
|
659
766
|
hash.update(data);
|
|
660
767
|
});
|
|
@@ -669,20 +776,26 @@ async function fileHash(filePath, algorithm = "md5") {
|
|
|
669
776
|
}
|
|
670
777
|
var statusMessagePretty = (failures, test, runtime) => {
|
|
671
778
|
if (failures === 0) {
|
|
779
|
+
console.log(ansiC2.green(ansiC2.inverse(`${runtime} > ${test}`)));
|
|
780
|
+
} else if (failures > 0) {
|
|
672
781
|
console.log(
|
|
673
|
-
ansiC2.
|
|
782
|
+
ansiC2.red(
|
|
783
|
+
ansiC2.inverse(
|
|
784
|
+
`${runtime} > ${test} failed ${failures} times (exit code: ${failures})`
|
|
785
|
+
)
|
|
786
|
+
)
|
|
674
787
|
);
|
|
675
788
|
} else {
|
|
676
789
|
console.log(
|
|
677
|
-
ansiC2.red(ansiC2.inverse(`${runtime} > ${test}
|
|
790
|
+
ansiC2.red(ansiC2.inverse(`${runtime} > ${test} crashed (exit code: -1)`))
|
|
678
791
|
);
|
|
679
792
|
}
|
|
680
793
|
};
|
|
681
794
|
async function writeFileAndCreateDir(filePath, data) {
|
|
682
795
|
const dirPath = path4.dirname(filePath);
|
|
683
796
|
try {
|
|
684
|
-
await
|
|
685
|
-
await
|
|
797
|
+
await fs4.promises.mkdir(dirPath, { recursive: true });
|
|
798
|
+
await fs4.writeFileSync(filePath, data);
|
|
686
799
|
} catch (error) {
|
|
687
800
|
console.error(`Error writing file: ${error}`);
|
|
688
801
|
}
|
|
@@ -707,7 +820,7 @@ function isValidUrl(string) {
|
|
|
707
820
|
async function pollForFile(path5, timeout = 2e3) {
|
|
708
821
|
const intervalObj = setInterval(function() {
|
|
709
822
|
const file = path5;
|
|
710
|
-
const fileExists =
|
|
823
|
+
const fileExists = fs4.existsSync(file);
|
|
711
824
|
if (fileExists) {
|
|
712
825
|
clearInterval(intervalObj);
|
|
713
826
|
}
|
|
@@ -716,6 +829,8 @@ async function pollForFile(path5, timeout = 2e3) {
|
|
|
716
829
|
var PM_Main = class extends PM_WithEslintAndTsc {
|
|
717
830
|
constructor(configs, name, mode2) {
|
|
718
831
|
super(configs, name, mode2);
|
|
832
|
+
this.logStreams = {};
|
|
833
|
+
this.sidecars = {};
|
|
719
834
|
this.getRunnables = (tests, testName, payload = {
|
|
720
835
|
nodeEntryPoints: {},
|
|
721
836
|
nodeEntryPointSidecars: {},
|
|
@@ -730,11 +845,11 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
730
845
|
console.log(ansiC2.green(ansiC2.inverse(`pure < ${src}`)));
|
|
731
846
|
this.bddTestIsRunning(src);
|
|
732
847
|
const reportDest = `testeranto/reports/${this.name}/${src.split(".").slice(0, -1).join(".")}/pure`;
|
|
733
|
-
if (!
|
|
734
|
-
|
|
848
|
+
if (!fs4.existsSync(reportDest)) {
|
|
849
|
+
fs4.mkdirSync(reportDest, { recursive: true });
|
|
735
850
|
}
|
|
736
851
|
const destFolder = dest.replace(".mjs", "");
|
|
737
|
-
let
|
|
852
|
+
let argz2 = "";
|
|
738
853
|
const testConfig = this.configs.tests.find((t) => {
|
|
739
854
|
return t[0] === src;
|
|
740
855
|
});
|
|
@@ -745,7 +860,7 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
745
860
|
const testConfigResource = testConfig[2];
|
|
746
861
|
const portsToUse = [];
|
|
747
862
|
if (testConfigResource.ports === 0) {
|
|
748
|
-
|
|
863
|
+
argz2 = JSON.stringify({
|
|
749
864
|
scheduled: true,
|
|
750
865
|
name: src,
|
|
751
866
|
ports: portsToUse,
|
|
@@ -761,7 +876,7 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
761
876
|
portsToUse.push(openPorts[i][0]);
|
|
762
877
|
this.ports[openPorts[i][0]] = src;
|
|
763
878
|
}
|
|
764
|
-
|
|
879
|
+
argz2 = JSON.stringify({
|
|
765
880
|
scheduled: true,
|
|
766
881
|
name: src,
|
|
767
882
|
ports: portsToUse,
|
|
@@ -770,22 +885,24 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
770
885
|
});
|
|
771
886
|
} else {
|
|
772
887
|
this.queue.push(src);
|
|
773
|
-
return;
|
|
888
|
+
return [Math.random(), argz2];
|
|
774
889
|
}
|
|
775
890
|
} else {
|
|
776
891
|
console.error("negative port makes no sense", src);
|
|
777
892
|
process.exit(-1);
|
|
778
893
|
}
|
|
779
894
|
const builtfile = dest;
|
|
895
|
+
const logs = createLogStreams(reportDest, "pure");
|
|
780
896
|
try {
|
|
781
897
|
await import(`${builtfile}?cacheBust=${Date.now()}`).then((module) => {
|
|
898
|
+
const originalConsole = { ...console };
|
|
782
899
|
return module.default.then((defaultModule) => {
|
|
783
|
-
defaultModule.receiveTestResourceConfig(
|
|
900
|
+
defaultModule.receiveTestResourceConfig(argz2).then(async (results) => {
|
|
784
901
|
statusMessagePretty(results.fails, src, "pure");
|
|
785
902
|
this.bddTestIsNowDone(src, results.fails);
|
|
786
903
|
}).catch((e1) => {
|
|
787
904
|
console.log(
|
|
788
|
-
ansiC2.red(`launchPure - ${src} errored with: ${e1}`)
|
|
905
|
+
ansiC2.red(`launchPure - ${src} errored with: ${e1.stack}`)
|
|
789
906
|
);
|
|
790
907
|
this.bddTestIsNowDone(src, -1);
|
|
791
908
|
statusMessagePretty(-1, src, "pure");
|
|
@@ -793,27 +910,29 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
793
910
|
}).catch((e2) => {
|
|
794
911
|
console.log(
|
|
795
912
|
ansiColors.red(
|
|
796
|
-
`pure ! ${src} failed to execute. No "tests.json" file was generated. Check
|
|
913
|
+
`pure ! ${src} failed to execute. No "tests.json" file was generated. Check the logs for more info`
|
|
797
914
|
)
|
|
798
915
|
);
|
|
799
|
-
|
|
916
|
+
logs.exit.write(e2.stack);
|
|
917
|
+
logs.exit.write(-1);
|
|
800
918
|
this.bddTestIsNowDone(src, -1);
|
|
801
919
|
statusMessagePretty(-1, src, "pure");
|
|
802
920
|
}).finally((x) => {
|
|
803
921
|
});
|
|
804
922
|
});
|
|
805
923
|
} catch (e3) {
|
|
924
|
+
logs.writeExitCode(-1, e3);
|
|
806
925
|
console.log(
|
|
807
926
|
ansiC2.red(
|
|
808
927
|
ansiC2.inverse(
|
|
809
|
-
`${src} 1 errored with: ${e3}. Check
|
|
928
|
+
`${src} 1 errored with: ${e3}. Check logs for more info`
|
|
810
929
|
)
|
|
811
930
|
)
|
|
812
931
|
);
|
|
813
|
-
|
|
932
|
+
logs.exit.write(e3.stack);
|
|
933
|
+
logs.exit.write(-1);
|
|
814
934
|
this.bddTestIsNowDone(src, -1);
|
|
815
935
|
statusMessagePretty(-1, src, "pure");
|
|
816
|
-
console.log("III) PURE IS EXITING BADLY WITH error", e3);
|
|
817
936
|
}
|
|
818
937
|
for (let i = 0; i <= portsToUse.length; i++) {
|
|
819
938
|
if (portsToUse[i]) {
|
|
@@ -825,8 +944,8 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
825
944
|
console.log(ansiC2.green(ansiC2.inverse(`node < ${src}`)));
|
|
826
945
|
this.bddTestIsRunning(src);
|
|
827
946
|
const reportDest = `testeranto/reports/${this.name}/${src.split(".").slice(0, -1).join(".")}/node`;
|
|
828
|
-
if (!
|
|
829
|
-
|
|
947
|
+
if (!fs4.existsSync(reportDest)) {
|
|
948
|
+
fs4.mkdirSync(reportDest, { recursive: true });
|
|
830
949
|
}
|
|
831
950
|
let testResources = "";
|
|
832
951
|
const testConfig = this.configs.tests.find((t) => {
|
|
@@ -872,7 +991,7 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
872
991
|
)
|
|
873
992
|
);
|
|
874
993
|
this.queue.push(src);
|
|
875
|
-
return;
|
|
994
|
+
return [Math.random(), argz];
|
|
876
995
|
}
|
|
877
996
|
} else {
|
|
878
997
|
console.error("negative port makes no sense", src);
|
|
@@ -931,41 +1050,46 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
931
1050
|
}
|
|
932
1051
|
});
|
|
933
1052
|
});
|
|
934
|
-
const
|
|
935
|
-
const errFile = `${reportDest}/logs.txt`;
|
|
936
|
-
if (fs3.existsSync(errFile)) {
|
|
937
|
-
fs3.rmSync(errFile);
|
|
938
|
-
}
|
|
1053
|
+
const logs = createLogStreams(reportDest, "node");
|
|
939
1054
|
server.listen(ipcfile, () => {
|
|
940
|
-
child.stderr?.on("data", (data) => {
|
|
941
|
-
oStream.write(`stderr > ${data}`);
|
|
942
|
-
});
|
|
943
1055
|
child.stdout?.on("data", (data) => {
|
|
944
|
-
|
|
1056
|
+
logs.stdout?.write(data);
|
|
1057
|
+
});
|
|
1058
|
+
child.stderr?.on("data", (data) => {
|
|
1059
|
+
logs.stderr?.write(data);
|
|
945
1060
|
});
|
|
946
1061
|
child.on("error", (err) => {
|
|
947
1062
|
});
|
|
948
1063
|
child.on("close", (code) => {
|
|
1064
|
+
const exitCode = code === null ? -1 : code;
|
|
1065
|
+
if (exitCode < 0) {
|
|
1066
|
+
logs.writeExitCode(
|
|
1067
|
+
exitCode,
|
|
1068
|
+
new Error("Process crashed or was terminated")
|
|
1069
|
+
);
|
|
1070
|
+
} else {
|
|
1071
|
+
logs.writeExitCode(exitCode);
|
|
1072
|
+
}
|
|
1073
|
+
logs.closeAll();
|
|
949
1074
|
server.close();
|
|
950
1075
|
if (!files2[src]) {
|
|
951
1076
|
files2[src] = /* @__PURE__ */ new Set();
|
|
952
1077
|
}
|
|
953
|
-
if (
|
|
1078
|
+
if (exitCode === 255) {
|
|
954
1079
|
console.log(
|
|
955
1080
|
ansiColors.red(
|
|
956
|
-
`node ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/
|
|
1081
|
+
`node ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/stderr.log for more info`
|
|
957
1082
|
)
|
|
958
1083
|
);
|
|
959
1084
|
this.bddTestIsNowDone(src, -1);
|
|
960
1085
|
statusMessagePretty(-1, src, "node");
|
|
961
|
-
oStream.close();
|
|
962
1086
|
return;
|
|
963
|
-
} else if (
|
|
1087
|
+
} else if (exitCode === 0) {
|
|
964
1088
|
this.bddTestIsNowDone(src, 0);
|
|
965
1089
|
statusMessagePretty(0, src, "node");
|
|
966
1090
|
} else {
|
|
967
|
-
this.bddTestIsNowDone(src,
|
|
968
|
-
statusMessagePretty(
|
|
1091
|
+
this.bddTestIsNowDone(src, exitCode);
|
|
1092
|
+
statusMessagePretty(exitCode, src, "node");
|
|
969
1093
|
}
|
|
970
1094
|
haltReturns = true;
|
|
971
1095
|
});
|
|
@@ -983,11 +1107,10 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
983
1107
|
console.log(
|
|
984
1108
|
ansiC2.red(
|
|
985
1109
|
ansiC2.inverse(
|
|
986
|
-
`${src} errored with: ${e.name}. Check
|
|
1110
|
+
`${src} errored with: ${e.name}. Check error logs for more info`
|
|
987
1111
|
)
|
|
988
1112
|
)
|
|
989
1113
|
);
|
|
990
|
-
this.writeFileSync(`${reportDest}/logs.txt`, e.toString(), src);
|
|
991
1114
|
this.bddTestIsNowDone(src, -1);
|
|
992
1115
|
statusMessagePretty(-1, src, "node");
|
|
993
1116
|
});
|
|
@@ -998,9 +1121,7 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
998
1121
|
const dest = src.split(".").slice(0, -1).join(".");
|
|
999
1122
|
const destFolder = dest.replace(".mjs", "");
|
|
1000
1123
|
console.log(ansiC2.green(ansiC2.inverse(`launchWebSideCar ${src}`)));
|
|
1001
|
-
const
|
|
1002
|
-
const doneFileStream2 = [];
|
|
1003
|
-
const oStream = fs3.createWriteStream(`${destFolder}/logs.txt`);
|
|
1124
|
+
const logs = createLogStreams(dest, "web");
|
|
1004
1125
|
return new Promise((res, rej) => {
|
|
1005
1126
|
this.browser.newPage().then(async (page) => {
|
|
1006
1127
|
this.mapping().forEach(async ([command, func]) => {
|
|
@@ -1014,34 +1135,44 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
1014
1135
|
Promise.all(screenshots2[src] || []).then(() => {
|
|
1015
1136
|
delete screenshots2[src];
|
|
1016
1137
|
page.close();
|
|
1017
|
-
oStream.close();
|
|
1018
1138
|
});
|
|
1019
1139
|
};
|
|
1020
1140
|
page.on("pageerror", (err) => {
|
|
1021
1141
|
console.debug(`Error from ${src}: [${err.name}] `);
|
|
1022
|
-
|
|
1023
|
-
oStream.write("\n");
|
|
1142
|
+
console.debug(`Error from ${src}: [${err.name}] `);
|
|
1024
1143
|
if (err.cause) {
|
|
1025
1144
|
console.debug(`Error from ${src} cause: [${err.cause}] `);
|
|
1026
|
-
oStream.write(err.cause);
|
|
1027
|
-
oStream.write("\n");
|
|
1028
1145
|
}
|
|
1029
1146
|
if (err.stack) {
|
|
1030
1147
|
console.debug(`Error from stack ${src}: [${err.stack}] `);
|
|
1031
|
-
oStream.write(err.stack);
|
|
1032
|
-
oStream.write("\n");
|
|
1033
1148
|
}
|
|
1034
1149
|
console.debug(`Error from message ${src}: [${err.message}] `);
|
|
1035
|
-
oStream.write(err.message);
|
|
1036
|
-
oStream.write("\n");
|
|
1037
1150
|
this.bddTestIsNowDone(src, -1);
|
|
1038
1151
|
close();
|
|
1039
1152
|
});
|
|
1040
1153
|
page.on("console", (log) => {
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1154
|
+
const msg = `${log.text()}
|
|
1155
|
+
${JSON.stringify(
|
|
1156
|
+
log.location()
|
|
1157
|
+
)}
|
|
1158
|
+
${JSON.stringify(log.stackTrace())}
|
|
1159
|
+
`;
|
|
1160
|
+
switch (log.type()) {
|
|
1161
|
+
case "info":
|
|
1162
|
+
logs.info?.write(msg);
|
|
1163
|
+
break;
|
|
1164
|
+
case "warn":
|
|
1165
|
+
logs.warn?.write(msg);
|
|
1166
|
+
break;
|
|
1167
|
+
case "error":
|
|
1168
|
+
logs.error?.write(msg);
|
|
1169
|
+
break;
|
|
1170
|
+
case "debug":
|
|
1171
|
+
logs.debug?.write(msg);
|
|
1172
|
+
break;
|
|
1173
|
+
default:
|
|
1174
|
+
break;
|
|
1175
|
+
}
|
|
1045
1176
|
});
|
|
1046
1177
|
await page.goto(`file://${`${destFolder}.html`}`, {});
|
|
1047
1178
|
const webArgz = JSON.stringify({
|
|
@@ -1087,13 +1218,14 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
1087
1218
|
console.log(ansiC2.green(ansiC2.inverse(`launchNodeSideCar ${sidecar[0]}`)));
|
|
1088
1219
|
const destFolder = dest.replace(".ts", "");
|
|
1089
1220
|
const reportDest = `testeranto/reports/${this.name}/${src.split(".").slice(0, -1).join(".")}/node`;
|
|
1090
|
-
const
|
|
1221
|
+
const argz2 = {
|
|
1091
1222
|
name: sidecar[0],
|
|
1092
1223
|
ports: [],
|
|
1093
1224
|
fs: destFolder,
|
|
1094
1225
|
browserWSEndpoint: this.browser.wsEndpoint()
|
|
1095
1226
|
};
|
|
1096
1227
|
const testReq = sidecar[2];
|
|
1228
|
+
const logs = createLogStreams(dest, "node");
|
|
1097
1229
|
const portsToUse = [];
|
|
1098
1230
|
if (testReq.ports === 0) {
|
|
1099
1231
|
} else if (testReq.ports > 0) {
|
|
@@ -1102,10 +1234,10 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
1102
1234
|
);
|
|
1103
1235
|
if (openPorts.length >= testReq.ports) {
|
|
1104
1236
|
for (let i = 0; i < testReq.ports; i++) {
|
|
1105
|
-
portsToUse.push(openPorts[i][0]);
|
|
1237
|
+
portsToUse.push(Number(openPorts[i][0]));
|
|
1106
1238
|
this.ports[openPorts[i][0]] = src;
|
|
1107
1239
|
}
|
|
1108
|
-
|
|
1240
|
+
argz2.ports = portsToUse;
|
|
1109
1241
|
const builtfile = destFolder + ".mjs";
|
|
1110
1242
|
let haltReturns = false;
|
|
1111
1243
|
let buffer = new Buffer("");
|
|
@@ -1142,22 +1274,13 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
1142
1274
|
});
|
|
1143
1275
|
});
|
|
1144
1276
|
});
|
|
1145
|
-
const
|
|
1146
|
-
const child = spawn("node", [builtfile, JSON.stringify(argz)], {
|
|
1277
|
+
const child = spawn("node", [builtfile, JSON.stringify(argz2)], {
|
|
1147
1278
|
stdio: ["pipe", "pipe", "pipe", "ipc"]
|
|
1148
1279
|
// silent: true
|
|
1149
1280
|
});
|
|
1150
1281
|
const p = "/tmp/tpipe" + Math.random();
|
|
1151
|
-
const errFile = `${reportDest}/logs.txt`;
|
|
1152
1282
|
server.listen(p, () => {
|
|
1153
|
-
child.stderr?.on("data", (data) => {
|
|
1154
|
-
oStream.write(`stderr > ${data}`);
|
|
1155
|
-
});
|
|
1156
|
-
child.stdout?.on("data", (data) => {
|
|
1157
|
-
oStream.write(`stdout > ${data}`);
|
|
1158
|
-
});
|
|
1159
1283
|
child.on("close", (code) => {
|
|
1160
|
-
oStream.close();
|
|
1161
1284
|
server.close();
|
|
1162
1285
|
haltReturns = true;
|
|
1163
1286
|
});
|
|
@@ -1170,24 +1293,24 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
1170
1293
|
}
|
|
1171
1294
|
});
|
|
1172
1295
|
child.on("error", (e) => {
|
|
1173
|
-
if (
|
|
1174
|
-
|
|
1296
|
+
if (fs4.existsSync(p)) {
|
|
1297
|
+
fs4.rmSync(p);
|
|
1175
1298
|
}
|
|
1176
1299
|
haltReturns = true;
|
|
1177
1300
|
console.log(
|
|
1178
1301
|
ansiC2.red(
|
|
1179
1302
|
ansiC2.inverse(
|
|
1180
|
-
`launchNodeSideCar - ${src} errored with: ${e.name}. Check
|
|
1303
|
+
`launchNodeSideCar - ${src} errored with: ${e.name}. Check logs for more info`
|
|
1181
1304
|
)
|
|
1182
1305
|
)
|
|
1183
1306
|
);
|
|
1184
|
-
|
|
1307
|
+
logs.error?.write(e.toString() + "\n");
|
|
1185
1308
|
});
|
|
1186
1309
|
});
|
|
1187
1310
|
child.send({ path: p });
|
|
1188
1311
|
const r = Math.random();
|
|
1189
1312
|
this.nodeSidecars[r] = child;
|
|
1190
|
-
return [r,
|
|
1313
|
+
return [r, argz2];
|
|
1191
1314
|
} else {
|
|
1192
1315
|
console.log(
|
|
1193
1316
|
ansiC2.red(
|
|
@@ -1195,7 +1318,7 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
1195
1318
|
)
|
|
1196
1319
|
);
|
|
1197
1320
|
this.queue.push(sidecar[0]);
|
|
1198
|
-
return [Math.random(),
|
|
1321
|
+
return [Math.random(), argz2];
|
|
1199
1322
|
}
|
|
1200
1323
|
} else {
|
|
1201
1324
|
console.error("negative port makes no sense", sidecar[0]);
|
|
@@ -1213,13 +1336,13 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
1213
1336
|
const dest = process.cwd() + `/testeranto/bundles/pure/${this.name}/${sidecar[0]}`;
|
|
1214
1337
|
const builtfile = dest.split(".").slice(0, -1).concat("mjs").join(".");
|
|
1215
1338
|
const destFolder = dest.replace(".mjs", "");
|
|
1216
|
-
let
|
|
1339
|
+
let argz2;
|
|
1217
1340
|
const z = sidecar[2];
|
|
1218
1341
|
const testConfigResource = sidecar[2];
|
|
1219
1342
|
const src = sidecar[0];
|
|
1220
1343
|
const portsToUse = [];
|
|
1221
1344
|
if (testConfigResource.ports === 0) {
|
|
1222
|
-
|
|
1345
|
+
argz2 = {
|
|
1223
1346
|
// scheduled: true,
|
|
1224
1347
|
name: src,
|
|
1225
1348
|
ports: portsToUse,
|
|
@@ -1232,10 +1355,10 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
1232
1355
|
);
|
|
1233
1356
|
if (openPorts.length >= testConfigResource.ports) {
|
|
1234
1357
|
for (let i = 0; i < testConfigResource.ports; i++) {
|
|
1235
|
-
portsToUse.push(openPorts[i][0]);
|
|
1358
|
+
portsToUse.push(Number(openPorts[i][0]));
|
|
1236
1359
|
this.ports[openPorts[i][0]] = src;
|
|
1237
1360
|
}
|
|
1238
|
-
|
|
1361
|
+
argz2 = {
|
|
1239
1362
|
// scheduled: true,
|
|
1240
1363
|
name: src,
|
|
1241
1364
|
// ports: [3333],
|
|
@@ -1245,24 +1368,25 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
1245
1368
|
};
|
|
1246
1369
|
} else {
|
|
1247
1370
|
this.queue.push(src);
|
|
1248
|
-
return;
|
|
1249
1371
|
}
|
|
1250
1372
|
} else {
|
|
1251
1373
|
console.error("negative port makes no sense", src);
|
|
1252
1374
|
process.exit(-1);
|
|
1253
1375
|
}
|
|
1254
1376
|
await import(`${builtfile}?cacheBust=${Date.now()}`).then((module) => {
|
|
1377
|
+
if (!this.pureSidecars)
|
|
1378
|
+
this.pureSidecars = {};
|
|
1255
1379
|
this.pureSidecars[r] = module.default;
|
|
1256
|
-
this.pureSidecars[r].start(
|
|
1380
|
+
this.pureSidecars[r].start(argz2);
|
|
1257
1381
|
});
|
|
1258
|
-
return [r,
|
|
1382
|
+
return [r, argz2];
|
|
1259
1383
|
};
|
|
1260
1384
|
this.launchWeb = async (src, dest) => {
|
|
1261
1385
|
console.log(ansiC2.green(ansiC2.inverse(`web < ${src}`)));
|
|
1262
1386
|
this.bddTestIsRunning(src);
|
|
1263
1387
|
const reportDest = `testeranto/reports/${this.name}/${src.split(".").slice(0, -1).join(".")}/web`;
|
|
1264
|
-
if (!
|
|
1265
|
-
|
|
1388
|
+
if (!fs4.existsSync(reportDest)) {
|
|
1389
|
+
fs4.mkdirSync(reportDest, { recursive: true });
|
|
1266
1390
|
}
|
|
1267
1391
|
const destFolder = dest.replace(".mjs", "");
|
|
1268
1392
|
const webArgz = JSON.stringify({
|
|
@@ -1272,9 +1396,33 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
1272
1396
|
browserWSEndpoint: this.browser.wsEndpoint()
|
|
1273
1397
|
});
|
|
1274
1398
|
const d = `${dest}?cacheBust=${Date.now()}`;
|
|
1275
|
-
const
|
|
1276
|
-
const oStream = fs3.createWriteStream(ofile);
|
|
1399
|
+
const logs = createLogStreams(reportDest, "web");
|
|
1277
1400
|
this.browser.newPage().then((page) => {
|
|
1401
|
+
page.on("console", (log) => {
|
|
1402
|
+
const msg = `${log.text()}
|
|
1403
|
+
`;
|
|
1404
|
+
switch (log.type()) {
|
|
1405
|
+
case "info":
|
|
1406
|
+
logs.info?.write(msg);
|
|
1407
|
+
break;
|
|
1408
|
+
case "warn":
|
|
1409
|
+
logs.warn?.write(msg);
|
|
1410
|
+
break;
|
|
1411
|
+
case "error":
|
|
1412
|
+
logs.error?.write(msg);
|
|
1413
|
+
break;
|
|
1414
|
+
case "debug":
|
|
1415
|
+
logs.debug?.write(msg);
|
|
1416
|
+
break;
|
|
1417
|
+
default:
|
|
1418
|
+
break;
|
|
1419
|
+
}
|
|
1420
|
+
});
|
|
1421
|
+
page.on("close", () => {
|
|
1422
|
+
logs.writeExitCode(0);
|
|
1423
|
+
logs.closeAll();
|
|
1424
|
+
logs.closeAll();
|
|
1425
|
+
});
|
|
1278
1426
|
this.mapping().forEach(async ([command, func]) => {
|
|
1279
1427
|
if (command === "page") {
|
|
1280
1428
|
page.exposeFunction(command, (x) => {
|
|
@@ -1298,46 +1446,19 @@ var PM_Main = class extends PM_WithEslintAndTsc {
|
|
|
1298
1446
|
Promise.all(screenshots2[src] || []).then(() => {
|
|
1299
1447
|
delete screenshots2[src];
|
|
1300
1448
|
page.close();
|
|
1301
|
-
oStream.close();
|
|
1302
1449
|
});
|
|
1303
1450
|
return;
|
|
1304
1451
|
};
|
|
1305
1452
|
page.on("pageerror", (err) => {
|
|
1453
|
+
logs.writeExitCode(-1, err);
|
|
1306
1454
|
console.log(
|
|
1307
1455
|
ansiColors.red(
|
|
1308
|
-
`web ! ${src} failed to execute No "tests.json" file was generated. Check ${reportDest}/
|
|
1456
|
+
`web ! ${src} failed to execute No "tests.json" file was generated. Check ${reportDest}/error.log for more info`
|
|
1309
1457
|
)
|
|
1310
1458
|
);
|
|
1311
|
-
oStream.write(err.name);
|
|
1312
|
-
oStream.write("\n");
|
|
1313
|
-
if (err.cause) {
|
|
1314
|
-
oStream.write(err.cause);
|
|
1315
|
-
oStream.write("\n");
|
|
1316
|
-
}
|
|
1317
|
-
if (err.stack) {
|
|
1318
|
-
oStream.write(err.stack);
|
|
1319
|
-
oStream.write("\n");
|
|
1320
|
-
}
|
|
1321
|
-
if (err.message) {
|
|
1322
|
-
oStream.write(err.message);
|
|
1323
|
-
oStream.write("\n");
|
|
1324
|
-
}
|
|
1325
1459
|
this.bddTestIsNowDone(src, -1);
|
|
1326
1460
|
close();
|
|
1327
1461
|
});
|
|
1328
|
-
page.on("console", (log) => {
|
|
1329
|
-
if (oStream.closed) {
|
|
1330
|
-
console.log("missed console message: ", log.text());
|
|
1331
|
-
return;
|
|
1332
|
-
} else {
|
|
1333
|
-
oStream.write(log.text());
|
|
1334
|
-
oStream.write("\n");
|
|
1335
|
-
oStream.write(JSON.stringify(log.location()));
|
|
1336
|
-
oStream.write("\n");
|
|
1337
|
-
oStream.write(JSON.stringify(log.stackTrace()));
|
|
1338
|
-
oStream.write("\n");
|
|
1339
|
-
}
|
|
1340
|
-
});
|
|
1341
1462
|
await page.goto(`file://${`${destFolder}.html`}`, {});
|
|
1342
1463
|
await page.evaluate(
|
|
1343
1464
|
`
|
|
@@ -1357,7 +1478,7 @@ import('${d}').then(async (x) => {
|
|
|
1357
1478
|
console.log(
|
|
1358
1479
|
ansiC2.red(
|
|
1359
1480
|
ansiC2.inverse(
|
|
1360
|
-
`web ! ${src} failed to execute. No "tests.json" file was generated. Check
|
|
1481
|
+
`web ! ${src} failed to execute. No "tests.json" file was generated. Check logs for more info`
|
|
1361
1482
|
)
|
|
1362
1483
|
)
|
|
1363
1484
|
);
|
|
@@ -1377,7 +1498,7 @@ import('${d}').then(async (x) => {
|
|
|
1377
1498
|
srcTest.split(".").slice(0, -1).join(".") + ".features.txt"
|
|
1378
1499
|
);
|
|
1379
1500
|
const testReport = JSON.parse(
|
|
1380
|
-
|
|
1501
|
+
fs4.readFileSync(`${reportDest}/tests.json`).toString()
|
|
1381
1502
|
);
|
|
1382
1503
|
testReport.features.reduce(async (mm, featureStringKey) => {
|
|
1383
1504
|
const accum = await mm;
|
|
@@ -1397,14 +1518,14 @@ import('${d}').then(async (x) => {
|
|
|
1397
1518
|
accum.files.push(newPath);
|
|
1398
1519
|
}
|
|
1399
1520
|
} else {
|
|
1400
|
-
await
|
|
1521
|
+
await fs4.promises.mkdir(path4.dirname(featureDestination), {
|
|
1401
1522
|
recursive: true
|
|
1402
1523
|
});
|
|
1403
1524
|
accum.strings.push(featureStringKey);
|
|
1404
1525
|
}
|
|
1405
1526
|
return accum;
|
|
1406
1527
|
}, Promise.resolve({ files: [], strings: [] })).then(({ files: files3, strings }) => {
|
|
1407
|
-
|
|
1528
|
+
fs4.writeFileSync(
|
|
1408
1529
|
`testeranto/reports/${this.name}/${srcTest.split(".").slice(0, -1).join(".")}/${platform}/featurePrompt.txt`,
|
|
1409
1530
|
files3.map((f) => {
|
|
1410
1531
|
return `/read ${f}`;
|
|
@@ -1460,10 +1581,16 @@ import('${d}').then(async (x) => {
|
|
|
1460
1581
|
});
|
|
1461
1582
|
this.writeBigBoard();
|
|
1462
1583
|
if (!inflight) {
|
|
1463
|
-
this.browser
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1584
|
+
if (this.browser) {
|
|
1585
|
+
if (this.browser) {
|
|
1586
|
+
this.browser.disconnect().then(() => {
|
|
1587
|
+
console.log(
|
|
1588
|
+
ansiC2.inverse(`${this.name} has been tested. Goodbye.`)
|
|
1589
|
+
);
|
|
1590
|
+
process.exit();
|
|
1591
|
+
});
|
|
1592
|
+
}
|
|
1593
|
+
}
|
|
1467
1594
|
}
|
|
1468
1595
|
};
|
|
1469
1596
|
this.launchers = {};
|
|
@@ -1552,8 +1679,8 @@ import('${d}').then(async (x) => {
|
|
|
1552
1679
|
this.mapping().forEach(async ([command, func]) => {
|
|
1553
1680
|
globalThis[command] = func;
|
|
1554
1681
|
});
|
|
1555
|
-
if (!
|
|
1556
|
-
|
|
1682
|
+
if (!fs4.existsSync(`testeranto/reports/${this.name}`)) {
|
|
1683
|
+
fs4.mkdirSync(`testeranto/reports/${this.name}`);
|
|
1557
1684
|
}
|
|
1558
1685
|
const executablePath = "/opt/homebrew/bin/chromium";
|
|
1559
1686
|
try {
|
|
@@ -1562,16 +1689,18 @@ import('${d}').then(async (x) => {
|
|
|
1562
1689
|
waitForInitialPage: false,
|
|
1563
1690
|
executablePath,
|
|
1564
1691
|
headless: true,
|
|
1692
|
+
defaultViewport: null,
|
|
1693
|
+
// Disable default 800x600 viewport
|
|
1565
1694
|
dumpio: false,
|
|
1566
1695
|
devtools: false,
|
|
1567
1696
|
args: [
|
|
1568
|
-
"--disable-features=site-per-process",
|
|
1569
1697
|
"--allow-file-access-from-files",
|
|
1570
1698
|
"--allow-insecure-localhost",
|
|
1571
1699
|
"--allow-running-insecure-content",
|
|
1572
1700
|
"--auto-open-devtools-for-tabs",
|
|
1573
1701
|
"--disable-dev-shm-usage",
|
|
1574
1702
|
"--disable-extensions",
|
|
1703
|
+
"--disable-features=site-per-process",
|
|
1575
1704
|
"--disable-gpu",
|
|
1576
1705
|
"--disable-setuid-sandbox",
|
|
1577
1706
|
"--disable-site-isolation-trials",
|
|
@@ -1581,6 +1710,7 @@ import('${d}').then(async (x) => {
|
|
|
1581
1710
|
"--no-startup-window",
|
|
1582
1711
|
"--reduce-security-for-testing",
|
|
1583
1712
|
"--remote-allow-origins=*",
|
|
1713
|
+
"--start-maximized",
|
|
1584
1714
|
"--unsafely-treat-insecure-origin-as-secure=*",
|
|
1585
1715
|
`--remote-debugging-port=3234`
|
|
1586
1716
|
// "--disable-features=IsolateOrigins,site-per-process",
|
|
@@ -1700,11 +1830,12 @@ import('${d}').then(async (x) => {
|
|
|
1700
1830
|
this.nodeMetafileWatcher.close();
|
|
1701
1831
|
this.webMetafileWatcher.close();
|
|
1702
1832
|
this.importMetafileWatcher.close();
|
|
1833
|
+
Object.values(this.logStreams || {}).forEach((logs) => logs.closeAll());
|
|
1703
1834
|
this.checkForShutdown();
|
|
1704
1835
|
}
|
|
1705
1836
|
async metafileOutputs(platform) {
|
|
1706
1837
|
const metafile = JSON.parse(
|
|
1707
|
-
|
|
1838
|
+
fs4.readFileSync(
|
|
1708
1839
|
`./testeranto/bundles/${platform}/${this.name}/metafile.json`
|
|
1709
1840
|
).toString()
|
|
1710
1841
|
).metafile;
|
|
@@ -1717,7 +1848,7 @@ import('${d}').then(async (x) => {
|
|
|
1717
1848
|
return false;
|
|
1718
1849
|
}
|
|
1719
1850
|
const addableFiles = Object.keys(outputs[k].inputs).filter((i) => {
|
|
1720
|
-
if (!
|
|
1851
|
+
if (!fs4.existsSync(i))
|
|
1721
1852
|
return false;
|
|
1722
1853
|
if (i.startsWith("node_modules"))
|
|
1723
1854
|
return false;
|
|
@@ -1726,8 +1857,8 @@ import('${d}').then(async (x) => {
|
|
|
1726
1857
|
return true;
|
|
1727
1858
|
});
|
|
1728
1859
|
const f = `${k.split(".").slice(0, -1).join(".")}/`;
|
|
1729
|
-
if (!
|
|
1730
|
-
|
|
1860
|
+
if (!fs4.existsSync(f)) {
|
|
1861
|
+
fs4.mkdirSync(f);
|
|
1731
1862
|
}
|
|
1732
1863
|
const entrypoint = outputs[k].entryPoint;
|
|
1733
1864
|
if (entrypoint) {
|