testeranto 0.177.0 → 0.197.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/ALL_LICENSES.txt +11246 -0
- package/LICENSE +21 -0
- package/README.md +24 -4
- package/default-project.json +44 -0
- package/design-editor/DesignEditor.tsx +247 -0
- package/design-editor/index.ts +2 -0
- package/design-editor/server.ts +121 -0
- package/design-editor/types.ts +16 -0
- package/designs/default-project.json +210 -0
- package/dist/common/design-editor/DesignEditor.js +239 -0
- package/dist/common/design-editor/index.js +18 -0
- package/dist/common/design-editor/server.js +98 -0
- package/dist/common/design-editor/types.js +2 -0
- package/dist/common/src/App.js +53 -0
- package/dist/common/src/Node.js +4 -8
- package/dist/common/src/PM/PM_WithEslintAndTsc.js +10 -34
- package/dist/common/src/PM/base.js +1 -1
- package/dist/common/src/PM/main.js +581 -113
- package/dist/common/src/PM/node.js +4 -2
- package/dist/common/src/PM/nodeSidecar.js +1 -0
- package/dist/common/src/PM/pure.js +20 -57
- 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 +7 -4
- package/dist/common/src/Pure.js +1 -1
- package/dist/common/src/Pure.test.js +49 -79
- package/dist/common/src/ReportServer.js +8 -2
- package/dist/common/src/build.js +31 -40
- package/dist/common/src/components/DesignEditorPage.js +169 -0
- 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 +69 -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 +35 -0
- package/dist/common/src/components/pure/ModalContent.test/index.js +58 -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/{NavBar.js → components/pure/NavBar.js} +9 -10
- package/dist/common/src/components/pure/ProcessManager.js +112 -0
- package/dist/common/src/components/pure/ProcessManagerView.js +237 -0
- package/dist/common/src/components/pure/ProjectPageView.js +53 -76
- package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +167 -54
- 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 +72 -0
- package/dist/common/src/components/pure/SettingsButton.js +13 -0
- package/dist/common/src/components/pure/SingleProcessView.js +214 -0
- package/dist/common/src/components/pure/TestPageView.js +513 -0
- package/dist/common/src/components/pure/TestPageView.test/implementation.js +157 -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/FileTree.js +40 -0
- package/dist/common/src/components/stateful/ProcessManagerPage.js +112 -0
- package/dist/common/src/components/stateful/ProjectPage.js +101 -0
- package/dist/common/src/components/stateful/ProjectsPage.js +118 -0
- package/dist/common/src/components/stateful/SettingsPage.js +72 -0
- package/dist/common/src/components/stateful/SingleProcessPage.js +147 -0
- package/dist/common/src/components/stateful/TestPage.js +229 -0
- package/dist/common/src/components/stateful/TextEditorPage.js +154 -0
- package/dist/common/src/defaultConfig.js +1 -0
- package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +3 -4
- package/dist/common/src/esbuildConfigs/web.js +1 -1
- package/dist/common/src/lib/BaseSuite.js +7 -3
- package/dist/common/src/lib/BaseSuite.test/mock.js +17 -41
- package/dist/common/src/lib/BaseSuite.test/test.js +33 -42
- package/dist/common/src/lib/Sidecar.js +1 -0
- package/dist/common/src/lib/abstractBase.js +40 -13
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +12 -12
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +15 -13
- 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 +29 -35
- package/dist/common/src/lib/classBuilder.js +5 -3
- package/dist/common/src/lib/core.js +3 -6
- 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 +13 -14
- package/dist/common/src/lib/pmProxy.js +37 -16
- package/dist/common/src/lib/pmProxy.test/adapter.js +20 -4
- package/dist/common/src/lib/pmProxy.test/implementation.js +93 -34
- package/dist/common/src/lib/pmProxy.test/mockPMBase.js +9 -0
- package/dist/common/src/lib/pmProxy.test/specification.js +3 -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 +57 -27
- package/dist/common/src/utils/featureUtils.js +29 -0
- package/dist/common/src/utils/logFiles.js +51 -0
- package/dist/common/src/utils/makePrompt.js +116 -0
- package/dist/common/src/web.html.js +2 -6
- package/dist/common/testeranto.config.js +54 -24
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/design-editor/DesignEditor.js +203 -0
- package/dist/module/design-editor/index.js +2 -0
- package/dist/module/design-editor/server.js +92 -0
- package/dist/module/design-editor/types.js +1 -0
- package/dist/module/src/App.js +19 -17
- package/dist/module/src/Node.js +4 -8
- package/dist/module/src/PM/PM_WithEslintAndTsc.js +11 -35
- package/dist/module/src/PM/base.js +1 -1
- package/dist/module/src/PM/main.js +577 -109
- package/dist/module/src/PM/node.js +4 -2
- package/dist/module/src/PM/nodeSidecar.js +1 -0
- package/dist/module/src/PM/pure.js +20 -57
- 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 +7 -4
- package/dist/module/src/Pure.js +1 -1
- package/dist/module/src/Pure.test.js +49 -79
- package/dist/module/src/ReportServer.js +8 -2
- package/dist/module/src/build.js +26 -38
- package/dist/module/src/components/DesignEditorPage.js +132 -0
- package/dist/module/src/components/SunriseAnimation.test/interface.js +32 -1
- package/dist/module/src/components/SunriseAnimation.test/types.js +1 -0
- package/dist/module/src/components/TestStatusBadge.js +1 -21
- package/dist/module/src/components/pure/AppFrame.js +32 -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/FeaturesReporterView.test/types.js +1 -0
- package/dist/module/src/components/pure/ModalContent.js +79 -0
- package/dist/module/src/components/pure/ModalContent.test/implementation.js +32 -0
- package/dist/module/src/components/pure/ModalContent.test/index.js +53 -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/{NavBar.js → components/pure/NavBar.js} +10 -11
- package/dist/module/src/components/pure/ProcessManager.js +75 -0
- package/dist/module/src/components/pure/ProcessManagerView.js +200 -0
- package/dist/module/src/components/pure/ProjectPageView.js +54 -77
- package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +167 -54
- 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 +21 -14
- package/dist/module/src/components/pure/SettingsButton.js +6 -0
- package/dist/module/src/components/pure/SingleProcessView.js +214 -0
- package/dist/module/src/components/pure/TestPageView.js +470 -142
- package/dist/module/src/components/pure/TestPageView.test/implementation.js +121 -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/FileTree.js +33 -0
- package/dist/module/src/components/stateful/ProcessManagerPage.js +75 -0
- package/dist/module/src/components/stateful/ProjectPage.js +7 -6
- package/dist/module/src/components/stateful/ProjectsPage.js +32 -6
- package/dist/module/src/components/stateful/SettingsPage.js +35 -0
- package/dist/module/src/components/stateful/SingleProcessPage.js +110 -0
- package/dist/module/src/components/stateful/TestPage.js +123 -13
- package/dist/module/src/components/stateful/TextEditorPage.js +117 -0
- package/dist/module/src/defaultConfig.js +1 -0
- package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +3 -4
- package/dist/module/src/esbuildConfigs/web.js +1 -1
- package/dist/module/src/lib/BaseSuite.js +7 -3
- package/dist/module/src/lib/BaseSuite.test/mock.js +17 -41
- package/dist/module/src/lib/BaseSuite.test/test.js +33 -42
- package/dist/module/src/lib/Sidecar.js +1 -0
- package/dist/module/src/lib/abstractBase.js +40 -13
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +12 -12
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +15 -13
- 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 +29 -35
- package/dist/module/src/lib/classBuilder.js +5 -3
- package/dist/module/src/lib/core.js +3 -6
- 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 +13 -14
- package/dist/module/src/lib/pmProxy.js +37 -16
- package/dist/module/src/lib/pmProxy.test/adapter.js +20 -4
- package/dist/module/src/lib/pmProxy.test/implementation.js +93 -34
- package/dist/module/src/lib/pmProxy.test/mockPMBase.js +9 -0
- package/dist/module/src/lib/pmProxy.test/specification.js +3 -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 +56 -25
- package/dist/module/src/utils/featureUtils.js +24 -0
- package/dist/module/src/utils/logFiles.js +46 -0
- package/dist/module/src/utils/makePrompt.js +109 -0
- package/dist/module/src/web.html.js +2 -6
- package/dist/module/testeranto.config.js +54 -24
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/App.css +53 -80
- package/dist/prebuild/App.js +15520 -4397
- package/dist/prebuild/ReportServer.mjs +104 -6
- package/dist/prebuild/build.mjs +95 -108
- package/dist/prebuild/mothership/index.mjs +5 -0
- package/dist/prebuild/run.mjs +704 -221
- package/dist/types/design-editor/DesignEditor.d.ts +18 -0
- package/dist/types/design-editor/server.d.ts +1 -0
- package/dist/types/src/App.d.ts +1 -0
- package/dist/types/src/PM/index.d.ts +1 -1
- package/dist/types/src/PM/main.d.ts +37 -3
- package/dist/types/src/PM/pure.d.ts +10 -7
- package/dist/types/src/PM/web.d.ts +1 -1
- package/dist/types/src/Pure.test.d.ts +13 -1
- package/dist/types/src/Types.d.ts +1 -0
- package/dist/types/src/components/DesignEditorPage.d.ts +1 -0
- package/dist/types/src/components/SunriseAnimation.d.ts +5 -0
- package/dist/types/src/components/SunriseAnimation.test/interface.d.ts +11 -0
- package/dist/types/src/components/SunriseAnimation.test/types.d.ts +39 -0
- package/dist/types/src/components/pure/AppFrame.d.ts +11 -0
- package/dist/types/src/components/pure/AppFrame.test/implementation.d.ts +3 -0
- package/dist/types/src/components/pure/AppFrame.test/index.d.ts +5 -0
- package/dist/types/src/components/pure/AppFrame.test/specification.d.ts +3 -0
- package/dist/types/src/components/pure/AppFrame.test/types.d.ts +33 -0
- package/dist/types/src/components/pure/FeaturesReporterView.d.ts +7 -0
- package/dist/types/src/components/pure/FeaturesReporterView.test/implementation.d.ts +3 -0
- package/dist/types/src/components/pure/FeaturesReporterView.test/index.d.ts +2 -0
- package/dist/types/src/components/pure/FeaturesReporterView.test/specification.d.ts +3 -0
- package/dist/types/src/components/pure/FeaturesReporterView.test/types.d.ts +54 -0
- package/dist/types/src/components/pure/ModalContent.d.ts +7 -0
- package/dist/types/src/components/pure/ModalContent.test/implementation.d.ts +3 -0
- package/dist/types/src/components/pure/ModalContent.test/index.d.ts +3 -0
- package/dist/types/src/components/pure/ModalContent.test/specification.d.ts +3 -0
- package/dist/types/src/components/pure/ModalContent.test/types.d.ts +45 -0
- package/dist/types/src/{NavBar.d.ts → components/pure/NavBar.d.ts} +4 -0
- package/dist/types/src/components/pure/ProcessManager.d.ts +8 -0
- package/dist/types/src/components/pure/ProcessManagerView.d.ts +20 -0
- package/dist/types/src/components/pure/ProjectPageView.d.ts +7 -7
- package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +1 -2
- package/dist/types/src/components/pure/ProjectPageView.test/types.d.ts +29 -11
- package/dist/types/src/components/pure/ProjectsPageView.d.ts +29 -0
- package/dist/types/src/components/pure/SettingsButton.d.ts +2 -0
- package/dist/types/src/components/pure/SingleProcessView.d.ts +0 -0
- package/dist/types/src/components/pure/TestPageView.d.ts +15 -0
- package/dist/types/src/components/pure/TestPageView.test/implementation.d.ts +12 -0
- package/dist/types/src/components/pure/TestPageView.test/index.d.ts +3 -0
- package/dist/types/src/components/pure/TestPageView.test/specification.d.ts +11 -0
- package/dist/types/src/components/pure/TestPageView.test/types.d.ts +65 -0
- package/dist/types/src/components/pure/ThemeCard.d.ts +9 -0
- package/dist/types/src/components/stateful/FeaturesReporter.d.ts +2 -0
- package/dist/types/src/components/stateful/FileTree.d.ts +8 -0
- package/dist/types/src/components/stateful/ProcessManagerPage.d.ts +2 -0
- package/dist/types/src/components/stateful/ProjectPage.d.ts +1 -0
- package/dist/types/src/components/stateful/ProjectsPage.d.ts +1 -0
- package/dist/types/src/components/stateful/SettingsPage.d.ts +2 -0
- package/dist/types/src/components/stateful/SingleProcessPage.d.ts +2 -0
- package/dist/types/src/components/stateful/TestPage.d.ts +1 -0
- package/dist/types/src/components/stateful/TextEditorPage.d.ts +1 -0
- package/dist/types/src/lib/BaseSuite.test/mock.d.ts +3 -3
- package/dist/types/src/lib/abstractBase.d.ts +1 -1
- package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +1 -1
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +1 -1
- package/dist/types/src/lib/basebuilder.d.ts +1 -1
- package/dist/types/src/lib/index.d.ts +8 -8
- package/dist/types/src/lib/pmProxy.test/mockPMBase.d.ts +1 -1
- package/dist/types/src/types/features.d.ts +7 -0
- package/dist/types/src/utils/api.d.ts +1 -5
- package/dist/types/src/utils/featureUtils.d.ts +6 -0
- package/dist/types/src/utils/logFiles.d.ts +71 -0
- package/dist/types/src/utils/makePrompt.d.ts +2 -0
- package/dist/types/src/web.html.d.ts +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/docs/index.md +17 -0
- package/docs/test-page-components.md +91 -0
- package/docs/testing.prompt.txt +1 -3
- package/index.d.ts +38 -13
- package/marketing.md +166 -0
- package/package.json +38 -11
- package/src/App.tsx +22 -25
- package/src/Node.ts +6 -9
- package/src/PM/PM_WithEslintAndTsc.ts +16 -97
- package/src/PM/__tests__/nodeSidecar.testeranto.ts +2 -0
- package/src/PM/base.ts +1 -3
- package/src/PM/index.ts +1 -1
- package/src/PM/main.ts +673 -128
- package/src/PM/node.ts +5 -2
- package/src/PM/nodeSidecar.ts +1 -0
- package/src/PM/pure.ts +28 -72
- package/src/PM/pureSidecar.ts +1 -1
- package/src/PM/types.ts +0 -0
- package/src/PM/web.ts +9 -4
- package/src/Pure.test.ts +66 -101
- package/src/Pure.ts +1 -1
- package/src/README.md +85 -0
- package/src/ReportServer.ts +10 -3
- package/src/Types.ts +1 -0
- package/src/app.scss +169 -0
- package/src/build.ts +33 -55
- package/src/components/DesignEditorPage.tsx +169 -0
- 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 +134 -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 +45 -0
- package/src/components/pure/ModalContent.test/index.tsx +67 -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/{NavBar.tsx → components/pure/NavBar.tsx} +31 -15
- package/src/components/pure/ProcessManager.tsx +117 -0
- package/src/components/pure/ProcessManagerView.tsx +414 -0
- package/src/components/pure/ProjectPageView.test/implementation.tsx +186 -57
- package/src/components/pure/ProjectPageView.test/index.tsx +18 -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 +73 -32
- package/src/components/pure/SettingsButton.md +1 -0
- package/src/components/pure/SettingsButton.tsx +11 -0
- package/src/components/pure/SingleProcessView.tsx +235 -0
- package/src/components/pure/TestPageView.test/implementation.ts +162 -0
- package/src/components/pure/TestPageView.test/index.tsx +20 -0
- package/src/components/pure/TestPageView.test/specification.ts +58 -0
- package/src/components/pure/TestPageView.test/types.ts +92 -0
- package/src/components/pure/TestPageView.tsx +1009 -299
- package/src/components/pure/ThemeCard.tsx +34 -0
- package/src/components/stateful/FeaturesReporter.tsx +24 -0
- package/src/components/stateful/FileTree.tsx +66 -0
- package/src/components/stateful/ProcessManagerPage.tsx +108 -0
- package/src/components/stateful/ProjectPage.tsx +10 -8
- package/src/components/stateful/ProjectsPage.tsx +36 -7
- package/src/components/stateful/SettingsPage.tsx +82 -0
- package/src/components/stateful/SingleProcessPage.tsx +155 -0
- package/src/components/stateful/TestPage.tsx +147 -30
- package/src/components/stateful/TextEditorPage.tsx +170 -0
- package/src/defaultConfig.ts +1 -0
- package/src/esbuildConfigs/inputFilesPlugin.ts +3 -4
- package/src/esbuildConfigs/web.ts +2 -1
- package/src/lib/BaseSuite.test/mock.ts +21 -68
- package/src/lib/BaseSuite.test/test.ts +39 -65
- package/src/lib/BaseSuite.ts +9 -3
- package/src/lib/Sidecar.ts +2 -0
- package/src/lib/abstractBase.test/MockGiven.ts +1 -1
- package/src/lib/abstractBase.ts +47 -20
- package/src/lib/baseBuilder.test/baseBuilder.test.adapter.ts +14 -13
- package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +17 -14
- 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 +48 -54
- package/src/lib/classBuilder.ts +11 -10
- 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 +5 -20
- package/src/lib/index.ts +28 -27
- package/src/lib/pmProxy.test/adapter.ts +18 -4
- package/src/lib/pmProxy.test/implementation.ts +130 -46
- package/src/lib/pmProxy.test/mockPMBase.ts +12 -1
- package/src/lib/pmProxy.test/specification.ts +11 -0
- package/src/lib/pmProxy.ts +42 -17
- 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 +3 -486
- package/src/templates/frontpage.html +331 -0
- package/src/templates/frontpage.md +79 -0
- package/src/themes.scss +48 -16
- package/src/types/features.ts +38 -0
- package/src/utils/api.ts +66 -33
- package/src/utils/featureUtils.tsx +42 -0
- package/src/utils/logFiles.ts +60 -0
- package/src/utils/makePrompt.ts +149 -0
- package/src/web.html.ts +6 -6
- package/stargazers.txt +15 -0
- package/stargzers.js +68 -0
- package/testeranto/App.css +53 -80
- package/testeranto/App.js +15520 -4397
- package/testeranto/bundles/node/core/chunk-4CSH4UJE.mjs +872 -0
- package/testeranto/bundles/node/core/chunk-4JTDLQVA.mjs +253 -0
- package/testeranto/bundles/node/core/chunk-C3APFDUV.mjs +70 -0
- package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +295 -0
- package/testeranto/bundles/node/core/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +243 -0
- package/testeranto/bundles/node/core/src/lib/classBuilder.test/classBuilder.test.mjs +411 -0
- package/testeranto/bundles/node/core/src/lib/core.test/core.test.mjs +494 -0
- package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +4755 -0
- package/testeranto/bundles/pure/core/chunk-62UVCSQC.mjs +1022 -0
- package/testeranto/bundles/pure/core/src/Pure.test.mjs +410 -0
- package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +352 -0
- package/testeranto/bundles/pure/core/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +241 -0
- package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +1 -5
- package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +15 -0
- package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.html +15 -0
- package/testeranto/metafiles/node/core.json +2906 -0
- package/testeranto/metafiles/pure/core.json +860 -0
- package/testeranto/metafiles/web/core.json +546 -0
- package/testeranto/reports/core/config.json +103 -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 +71 -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 +3 -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 +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.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 +3 -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 +0 -0
- 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 +3 -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 +0 -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 +61 -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 +61 -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 +3 -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/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 +10 -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 +6 -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 +42 -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 +10 -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 +42 -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 +3 -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/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 +88 -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 +45 -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 +15 -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 +88 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +10 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +152 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +52 -0
- package/testeranto/reports/core/summary.json +74 -5
- package/testeranto/reportsweb_build_errors +546 -0
- package/testeranto.config.ts +58 -25
- package/tsc.log +378 -211
- package/tsconfig.common.json +4 -2
- package/tsconfig.json +9 -6
- package/tsconfig.module.json +3 -2
- package/tsconfig.types.json +3 -1
- 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.test/adapter.d.ts +0 -3
- package/dist/types/testeranto.config.d.ts +0 -3
- package/docs/testing.ai.txt +0 -106
- package/docs.html +0 -572
- package/example.css +0 -351
- package/index.html +0 -284
- package/scripts/compile-docs.js +0 -140
- package/src/App.scss +0 -132
- 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/fonts.scss +0 -55
- package/src/lib/dailyAnimation.ts +0 -147
- package/style.css +0 -12156
- package/testeranto/bundles/node/core/metafile.json +0 -8
- package/testeranto/bundles/pure/core/metafile.json +0 -8
- package/testeranto/bundles/web/core/metafile.json +0 -15086
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +0 -39991
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +0 -18
- 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/message.txt +0 -2
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +0 -27
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-0/butThen/happyPath.png +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +0 -50
- /package/dist/types/src/{lib/dailyAnimation.d.ts → PM/types.d.ts} +0 -0
package/docs/index.md
CHANGED
|
@@ -552,6 +552,23 @@ export default Testeranto<
|
|
|
552
552
|
|
|
553
553
|
```
|
|
554
554
|
|
|
555
|
+
## Explainer Video Development
|
|
556
|
+
|
|
557
|
+
The Testeranto explainer video is built using:
|
|
558
|
+
|
|
559
|
+
### Revision.js Animation System
|
|
560
|
+
|
|
561
|
+
- Frame-by-frame animation control
|
|
562
|
+
- Timeline-based sequencing
|
|
563
|
+
- Audio synchronization
|
|
564
|
+
- Custom easing functions
|
|
565
|
+
|
|
566
|
+
### Audio Integration
|
|
567
|
+
|
|
568
|
+
- Voiceover track provides timing cues
|
|
569
|
+
- Sound effects enhance key moments
|
|
570
|
+
- Volume automation for emphasis
|
|
571
|
+
|
|
555
572
|
## Trouble shooting
|
|
556
573
|
|
|
557
574
|
### Double check your runtimes.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# TestPage and TestPageView Components
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
These components provide a test results viewing interface that resembles VS Code, using Monaco Editor for code display and editing. The interface is split into three main sections:
|
|
5
|
+
1. Left sidebar: Navigation for logs, source files, and artifacts
|
|
6
|
+
2. Center panel: Monaco Editor for viewing and editing content
|
|
7
|
+
3. Right panel: Test results and artifact previews
|
|
8
|
+
|
|
9
|
+
## TestPage Component
|
|
10
|
+
The main container component that handles data fetching and state management.
|
|
11
|
+
|
|
12
|
+
### Key Responsibilities:
|
|
13
|
+
1. **Route Management**: Syncs the active tab with URL hash changes
|
|
14
|
+
2. **Data Fetching**: Retrieves test data, logs, and source files from the server
|
|
15
|
+
3. **State Management**: Maintains loading states, errors, and test metadata
|
|
16
|
+
4. **Source File Organization**: Builds a file tree structure from metafile data
|
|
17
|
+
|
|
18
|
+
### Props:
|
|
19
|
+
- Uses React Router hooks: `useNavigate`, `useLocation`, `useParams`
|
|
20
|
+
- No explicit props passed from parent components
|
|
21
|
+
|
|
22
|
+
### State Variables:
|
|
23
|
+
- `route`: Active tab ('results', 'logs', 'types', 'lint', 'coverage')
|
|
24
|
+
- `testName`: Name of the current test
|
|
25
|
+
- `logs`: Collected logs and test data
|
|
26
|
+
- `loading`: Data loading status
|
|
27
|
+
- `error`: Error information
|
|
28
|
+
- `testsExist`: Whether tests exist for this path
|
|
29
|
+
- `errorCounts`: Counts of different error types
|
|
30
|
+
- `summary`: Test summary data
|
|
31
|
+
|
|
32
|
+
## TestPageView Component
|
|
33
|
+
The presentational component that renders the VS Code-like interface.
|
|
34
|
+
|
|
35
|
+
### Key Sections:
|
|
36
|
+
1. **Navigation Bar**: Top bar with test name, runtime badge, and AI assistant button
|
|
37
|
+
2. **Sidebar**: File tree navigation for logs, source files, and artifacts
|
|
38
|
+
3. **Editor Panel**: Monaco Editor instance for code viewing/editing
|
|
39
|
+
4. **Preview Panel**: Test results and artifact previews
|
|
40
|
+
|
|
41
|
+
### Props:
|
|
42
|
+
```typescript
|
|
43
|
+
interface TestPageViewProps {
|
|
44
|
+
projectName: string;
|
|
45
|
+
testName: string;
|
|
46
|
+
decodedTestPath: string;
|
|
47
|
+
runtime: string;
|
|
48
|
+
logs: Record<string, string>;
|
|
49
|
+
testsExist: boolean;
|
|
50
|
+
errorCounts: {
|
|
51
|
+
runTimeErrors: number;
|
|
52
|
+
typeErrors: number;
|
|
53
|
+
staticErrors: number;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Sub-components:
|
|
59
|
+
1. **FileTree**: Recursive component for displaying source file hierarchy
|
|
60
|
+
2. **ArtifactTree**: Recursive component for displaying test artifacts
|
|
61
|
+
3. **LogNavItem**: Navigation items for different log types with status indicators
|
|
62
|
+
4. **TestStatusBadge**: Visual indicator of test status
|
|
63
|
+
|
|
64
|
+
### Monaco Editor Integration:
|
|
65
|
+
- Uses `@monaco-editor/react` package
|
|
66
|
+
- Supports multiple languages based on file extensions
|
|
67
|
+
- Read-only mode for non-source files
|
|
68
|
+
- Theme-aware (light/dark) based on application theme
|
|
69
|
+
|
|
70
|
+
## Data Flow
|
|
71
|
+
1. TestPage fetches data on mount using test parameters from URL
|
|
72
|
+
2. Data is processed and organized into a structured format
|
|
73
|
+
3. TestPageView receives processed data and renders the interface
|
|
74
|
+
4. User interactions update the active tab and selected file
|
|
75
|
+
5. Monaco Editor displays the content of selected files
|
|
76
|
+
|
|
77
|
+
## Future VS Code-like Enhancements
|
|
78
|
+
1. **Multi-tab Editor**: Support opening multiple files in tabs
|
|
79
|
+
2. **File Operations**: Create, rename, delete files in the file tree
|
|
80
|
+
3. **Terminal Integration**: Built-in terminal for command execution
|
|
81
|
+
4. **Git Integration**: Source control indicators and operations
|
|
82
|
+
5. **Extensions**: Plugin system for additional functionality
|
|
83
|
+
6. **Workspace Management**: Save and restore editor layouts
|
|
84
|
+
7. **Command Palette**: Quick access to actions via keyboard
|
|
85
|
+
8. **Settings**: Customizable editor preferences
|
|
86
|
+
|
|
87
|
+
## Key Dependencies
|
|
88
|
+
- React Router: Navigation and routing
|
|
89
|
+
- Monaco Editor: Code editing functionality
|
|
90
|
+
- React Bootstrap: UI components and layout
|
|
91
|
+
- Custom hooks for WebSocket connections and state management
|
package/docs/testing.prompt.txt
CHANGED
package/index.d.ts
CHANGED
|
@@ -1,19 +1,44 @@
|
|
|
1
|
-
declare module
|
|
2
|
-
|
|
3
|
-
type ITestTypes = [
|
|
4
|
-
string,
|
|
5
|
-
IRunTime,
|
|
6
|
-
ITestTypes[]
|
|
7
|
-
];
|
|
8
|
-
|
|
1
|
+
declare module "*.test.js" {
|
|
2
|
+
type ITestTypes = [string, IRunTime, ITestTypes[]];
|
|
9
3
|
const content: ITestTypes[];
|
|
10
4
|
export default content;
|
|
11
5
|
}
|
|
12
6
|
|
|
7
|
+
// declare module '@revideo/core' {
|
|
8
|
+
// export function makeScene2D(callback: (view: any) => Generator): any;
|
|
9
|
+
// export function createRef<T>(): { current: T | null };
|
|
10
|
+
// export function waitFor(seconds: number): Generator;
|
|
11
|
+
// export function all(...animations: any[]): any;
|
|
12
|
+
// export function chain(...animations: any[]): any;
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
// export class Txt {
|
|
15
|
+
// constructor(props: {
|
|
16
|
+
// text: string;
|
|
17
|
+
// fill: string;
|
|
18
|
+
// fontSize: number;
|
|
19
|
+
// fontFamily: string;
|
|
20
|
+
// });
|
|
21
|
+
// scale(x: number, duration: number): any;
|
|
22
|
+
// }
|
|
23
|
+
// }
|
|
24
|
+
|
|
25
|
+
// declare module '@revideo/player' {
|
|
26
|
+
// export class Player {
|
|
27
|
+
// constructor(config: {
|
|
28
|
+
// container: string;
|
|
29
|
+
// width: number;
|
|
30
|
+
// height: number;
|
|
31
|
+
// autoplay: boolean;
|
|
32
|
+
// loop: boolean;
|
|
33
|
+
// scene: any;
|
|
34
|
+
// });
|
|
35
|
+
// }
|
|
36
|
+
// }
|
|
19
37
|
|
|
38
|
+
interface Window {
|
|
39
|
+
revideo: {
|
|
40
|
+
core: typeof import("@revideo/core");
|
|
41
|
+
player: typeof import("@revideo/player");
|
|
42
|
+
setupVideoPlayer: (container: string) => Promise<void>;
|
|
43
|
+
};
|
|
44
|
+
}
|
package/marketing.md
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# Marketing Strategy
|
|
2
|
+
|
|
3
|
+
## Unique Value Proposition
|
|
4
|
+
|
|
5
|
+
"Testeranto brings vibe coding to the real world - the only framework that lets you effortlessly maintain flow state while working with large codebases, thanks to AI-powered test fixing with intelligent context optimization."
|
|
6
|
+
|
|
7
|
+
## Key Differentiators
|
|
8
|
+
|
|
9
|
+
✨ **Vibe Coding At Scale** - Maintain flow state in large codebases
|
|
10
|
+
🧠 **Precision Context** - Only what's needed for each fix
|
|
11
|
+
🤖 **AI-Powered Flow** - Tests fix themselves without breaking your focus
|
|
12
|
+
🔄 **Write Once, Test Anywhere** - Node/Browser/Pure
|
|
13
|
+
📝 **Living Documentation** - Requirements stay in sync
|
|
14
|
+
🛡️ **Type-Safe Flow** - No context switching for type errors
|
|
15
|
+
|
|
16
|
+
## Target Audiences
|
|
17
|
+
|
|
18
|
+
1. **TypeScript Developers**
|
|
19
|
+
|
|
20
|
+
- Frustrated with test maintenance overhead
|
|
21
|
+
- Want type-safe BDD at scale
|
|
22
|
+
|
|
23
|
+
2. **BDD Teams**
|
|
24
|
+
|
|
25
|
+
- Need better requirements traceability
|
|
26
|
+
- Want living documentation
|
|
27
|
+
|
|
28
|
+
3. **AI Early Adopters**
|
|
29
|
+
|
|
30
|
+
- Excited about AI-assisted development
|
|
31
|
+
- Want to reduce debugging time
|
|
32
|
+
|
|
33
|
+
4. **Full-Stack Teams**
|
|
34
|
+
- Need cross-runtime test coverage
|
|
35
|
+
- Tired of maintaining multiple test suites
|
|
36
|
+
|
|
37
|
+
## Beta Program Rollout
|
|
38
|
+
|
|
39
|
+
### Phase 1: Private Beta (GitHub Stargazers)
|
|
40
|
+
|
|
41
|
+
**Email Template:**
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
Subject: Exclusive Invite: Testeranto Private Beta Access
|
|
45
|
+
|
|
46
|
+
Hi [First Name],
|
|
47
|
+
|
|
48
|
+
We noticed you starred testeranto on GitHub - thank you! We'd love to invite you to join our private beta program where you'll get:
|
|
49
|
+
|
|
50
|
+
🔧 Early access to AI-powered test fixing
|
|
51
|
+
💬 Lifetime priority support from the core team
|
|
52
|
+
👨💻 Personal onboarding assistance from the creator
|
|
53
|
+
🗺️ Direct influence on the product roadmap
|
|
54
|
+
🎁 Exclusive swag + permanent "Pioneer" badge
|
|
55
|
+
|
|
56
|
+
To join:
|
|
57
|
+
|
|
58
|
+
1. Reply to this email to confirm interest
|
|
59
|
+
2. We'll send your private invite code
|
|
60
|
+
3. Join our beta Discord for support
|
|
61
|
+
|
|
62
|
+
The beta includes:
|
|
63
|
+
|
|
64
|
+
- Full access to testeranto + Aider integration
|
|
65
|
+
- Weekly 1:1 office hours with me (Adam)
|
|
66
|
+
- Lifetime priority support for your projects
|
|
67
|
+
- Personal assistance integrating testeranto
|
|
68
|
+
- Early documentation and examples
|
|
69
|
+
- Permanent "Beta Pioneer" status
|
|
70
|
+
|
|
71
|
+
We're limiting this first wave to 100 developers. Let us know if you'd like to participate!
|
|
72
|
+
|
|
73
|
+
Cheers,
|
|
74
|
+
The Testeranto Team
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
- [x] Identify top 100 stargazers
|
|
78
|
+
- [ ] Personalized email invitations
|
|
79
|
+
- [ ] Private Discord channel
|
|
80
|
+
- [ ] Weekly office hours
|
|
81
|
+
- [ ] Exclusive early-access docs
|
|
82
|
+
|
|
83
|
+
### Phase 2: Public Beta (Reddit/HN)
|
|
84
|
+
|
|
85
|
+
**Reddit/HN Announcement Draft:**
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
Title: Testeranto Public Beta: The AI-Powered Test Framework That Fixes Itself
|
|
89
|
+
|
|
90
|
+
After a successful private beta with 100+ GitHub stargazers, we're opening up testeranto to the public!
|
|
91
|
+
|
|
92
|
+
What makes testeranto unique:
|
|
93
|
+
✨ **Vibe Coding For Real Projects**
|
|
94
|
+
|
|
95
|
+
- Stay in flow state even in large codebases
|
|
96
|
+
- AI handles test maintenance without breaking focus
|
|
97
|
+
- Context optimized for minimal distractions
|
|
98
|
+
|
|
99
|
+
🧠 **Precision Context Engine**
|
|
100
|
+
|
|
101
|
+
- Esbuild-powered dependency analysis
|
|
102
|
+
- Just the files/docs/types needed
|
|
103
|
+
- Preserves your mental model
|
|
104
|
+
|
|
105
|
+
🤖 **AI That Understands Flow**
|
|
106
|
+
|
|
107
|
+
- Fixes tests without context switching
|
|
108
|
+
- Learns your coding style
|
|
109
|
+
- Respects your thought process
|
|
110
|
+
|
|
111
|
+
We've already seen:
|
|
112
|
+
|
|
113
|
+
- 70% reduction in test maintenance time (case study)
|
|
114
|
+
- 5x faster test creation for BDD workflows
|
|
115
|
+
- Seamless cross-runtime testing
|
|
116
|
+
|
|
117
|
+
Try it now:
|
|
118
|
+
|
|
119
|
+
1. `npm install testeranto@beta`
|
|
120
|
+
2. Check our starter project: [github.com/adamwong246/testeranto-starter]
|
|
121
|
+
3. Join our "Fix My Tests" challenge with $500 in prizes
|
|
122
|
+
|
|
123
|
+
HN/Reddit special: First 50 signups get free 1:1 onboarding!
|
|
124
|
+
|
|
125
|
+
FAQ:
|
|
126
|
+
Q: How does the AI fixing work?
|
|
127
|
+
A: Testeranto generates detailed prompts that Aider uses to suggest fixes.
|
|
128
|
+
|
|
129
|
+
Q: What about type safety?
|
|
130
|
+
A: Full TypeScript support with runtime type checking.
|
|
131
|
+
|
|
132
|
+
Q: Can I test frontend and backend together?
|
|
133
|
+
A: Yes! Our cross-runtime testing is unique in the JS ecosystem.
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
- [ ] Technical write-up on AI-assisted testing
|
|
137
|
+
- [ ] Showcase success stories from private beta
|
|
138
|
+
- [ ] "Fix My Tests" community challenge ($500 prize pool)
|
|
139
|
+
- [ ] Public bug bounty program ($20 per verified bug)
|
|
140
|
+
|
|
141
|
+
## Marketing Channels
|
|
142
|
+
|
|
143
|
+
1. **Content Marketing**
|
|
144
|
+
|
|
145
|
+
- [ ] Case study: "70% reduction in test maintenance"
|
|
146
|
+
- [ ] Interactive explainer video (JS-based)
|
|
147
|
+
- [ ] Screen-recorded demo: AI fixing tests in real-time
|
|
148
|
+
- [ ] Framework comparison whitepaper
|
|
149
|
+
|
|
150
|
+
2. **Community Growth**
|
|
151
|
+
|
|
152
|
+
- [ ] "Testeranto Champions" early adopter program
|
|
153
|
+
- [ ] Monthly hackathons with prizes
|
|
154
|
+
- [ ] Curated examples gallery
|
|
155
|
+
|
|
156
|
+
3. **Technical Outreach**
|
|
157
|
+
- [ ] Conference talks on AI-assisted testing
|
|
158
|
+
- [ ] Deep-dive blog series on architecture
|
|
159
|
+
- [ ] Performance benchmarks vs competitors
|
|
160
|
+
|
|
161
|
+
## Success Metrics
|
|
162
|
+
|
|
163
|
+
- GitHub stars growth rate
|
|
164
|
+
- npm download trends
|
|
165
|
+
- Case study conversions
|
|
166
|
+
- Community engagement metrics
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "testeranto",
|
|
3
3
|
"description": "the AI powered BDD test framework for typescript projects",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.197.0",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": "18.18.0"
|
|
7
7
|
},
|
|
@@ -118,8 +118,7 @@
|
|
|
118
118
|
"ATDD"
|
|
119
119
|
],
|
|
120
120
|
"scripts": {
|
|
121
|
-
"build-hard": "rm -rf testeranto
|
|
122
|
-
"doit": "rm -rf node_modules && yarn install && yarn build",
|
|
121
|
+
"build-hard": "rm -rf testeranto/** && yarn build && yarn type-check; yarn t-init; cp dist/prebuild/App.* testeranto; yarn t-build core once; yarn t-run core once",
|
|
123
122
|
"build": "sh prebuild.sh; cp ./src/cjs-shim.js ./dist/cjs-shim.js; tsc -p tsconfig.module.json; tsc -p tsconfig.common.json; tsc -p tsconfig.types.json; sh postBuild.sh; yarn bundle",
|
|
124
123
|
"dev": "sh prebuild.sh; cp ./src/cjs-shim.js ./dist/cjs-shim.js; sh postBuild.sh; tsc -p tsconfig.module.json --watch & tsc -p tsconfig.common.json --watch ",
|
|
125
124
|
"bundle": "node bundle.js",
|
|
@@ -132,9 +131,9 @@
|
|
|
132
131
|
"t-run": "tsx src/run.ts",
|
|
133
132
|
"t-init": "tsx dist/prebuild/init-docs.mjs",
|
|
134
133
|
"t-report": "tsx dist/prebuild/ReportServer.mjs",
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"
|
|
134
|
+
"compile-docs": "node scripts/compile-docs.js",
|
|
135
|
+
"prepublish": "self-import",
|
|
136
|
+
"summarizeLicenses": "yarn licenses list > ALL_LICENSES.txt; yarn license-checker >> ALL_LICENSES.txt; yarn license-checker --summary >> ALL_LICENSES.txt"
|
|
138
137
|
},
|
|
139
138
|
"peerDependencies": {
|
|
140
139
|
"@types/react": "18.2.0",
|
|
@@ -160,26 +159,33 @@
|
|
|
160
159
|
"@types/react-dom": "18.2.0",
|
|
161
160
|
"@types/react-test-renderer": "19.0.0",
|
|
162
161
|
"@types/uuid": "^10.0.0",
|
|
163
|
-
"@types/ws": "^8.
|
|
162
|
+
"@types/ws": "^8.18.1",
|
|
164
163
|
"@typescript-eslint/eslint-plugin": "^5.46.0",
|
|
165
164
|
"@typescript-eslint/parser": "^5.46.0",
|
|
166
|
-
"marked": "^12.0.2",
|
|
167
165
|
"self-import": "*",
|
|
168
166
|
"testeranto-react": "0.0.8",
|
|
169
167
|
"ts-node": "^10.9.1",
|
|
170
168
|
"typescript": "^5.8.2"
|
|
171
169
|
},
|
|
172
170
|
"dependencies": {
|
|
171
|
+
"@aws-sdk/client-polly": "^3.864.0",
|
|
173
172
|
"@bscotch/debounce-watch": "^1.1.0",
|
|
174
173
|
"@humanwhocodes/config-array": "^0.13.0",
|
|
175
174
|
"@jest/globals": "^30.0.4",
|
|
175
|
+
"@monaco-editor/react": "^4.7.0",
|
|
176
176
|
"@types/eslint": "^9.6.1",
|
|
177
|
+
"@types/fabric": "^5.3.10",
|
|
178
|
+
"@types/file-saver": "^2.0.7",
|
|
177
179
|
"@types/node-static": "^0.7.11",
|
|
178
180
|
"@types/react-router-dom": "^5.3.3",
|
|
181
|
+
"@types/xmldom": "^0.1.34",
|
|
179
182
|
"@ungap/structured-clone": "^1.3.0",
|
|
183
|
+
"@xterm/addon-fit": "^0.10.0",
|
|
180
184
|
"ansi-colors": "^4.1.3",
|
|
185
|
+
"axios": "^1.11.0",
|
|
181
186
|
"babel-loader": "^8.2.5",
|
|
182
|
-
"bootstrap": "^5.3.
|
|
187
|
+
"bootstrap": "^5.3.7",
|
|
188
|
+
"bootstrap-icons": "^1.13.1",
|
|
183
189
|
"chai": "^5.2.0",
|
|
184
190
|
"chromium": "^3.0.3",
|
|
185
191
|
"dynamic-base": "^1.1.2",
|
|
@@ -195,23 +201,44 @@
|
|
|
195
201
|
"eslint-plugin-react": "^7.31.11",
|
|
196
202
|
"eslint-plugin-react-hooks": "^5.1.0",
|
|
197
203
|
"express": "^4.21.2",
|
|
204
|
+
"fabric": "6.7.1",
|
|
205
|
+
"fast-xml-parser": "^5.2.5",
|
|
206
|
+
"file-saver": "^2.0.5",
|
|
198
207
|
"fs-extra": "^11.2.0",
|
|
199
208
|
"fs.promises.exists": "^1.1.4",
|
|
209
|
+
"get-audio-duration": "^4.0.1",
|
|
210
|
+
"html-to-image": "^1.11.13",
|
|
211
|
+
"license-checker": "^25.0.1",
|
|
200
212
|
"mermaid": "^11.8.1",
|
|
201
213
|
"mermaid-isomorphic": "^3.0.4",
|
|
214
|
+
"micromark": "^4.0.2",
|
|
215
|
+
"micromark-extension-gfm-table": "^2.1.1",
|
|
216
|
+
"monaco-editor": "^0.45.0",
|
|
202
217
|
"node-static": "^0.7.11",
|
|
218
|
+
"octokit": "^5.0.3",
|
|
219
|
+
"openai": "^5.12.2",
|
|
203
220
|
"puppeteer": "^24.4.0",
|
|
204
221
|
"puppeteer-core": "24.4.0",
|
|
205
222
|
"react": "18.2.0",
|
|
206
223
|
"react-bootstrap": "^2.10.9",
|
|
207
224
|
"react-dom": "18.2.0",
|
|
225
|
+
"react-draggable": "^4.5.0",
|
|
226
|
+
"react-resizable": "^3.0.5",
|
|
208
227
|
"react-router-dom": "^7.7.0",
|
|
209
|
-
"sass": "^1.
|
|
228
|
+
"sass": "^1.90.0",
|
|
229
|
+
"ssml-check": "^0.4.6",
|
|
230
|
+
"testeranto-stilo": "0.0.7",
|
|
210
231
|
"tsc-prog": "^2.3.0",
|
|
211
232
|
"tsx": "^4.19.3",
|
|
212
233
|
"type-fest": "^4.41.0",
|
|
213
234
|
"typescript-eslint": "^8.29.1",
|
|
214
235
|
"url": "^0.11.4",
|
|
215
|
-
"uuid": "^10.0.0"
|
|
236
|
+
"uuid": "^10.0.0",
|
|
237
|
+
"validate-with-xmllint": "^1.2.1",
|
|
238
|
+
"ws": "^8.18.3",
|
|
239
|
+
"xmldom": "^0.6.0",
|
|
240
|
+
"xterm": "^5.3.0",
|
|
241
|
+
"xterm-addon-fit": "^0.8.0",
|
|
242
|
+
"xterm-react": "^1.0.0"
|
|
216
243
|
}
|
|
217
244
|
}
|
package/src/App.tsx
CHANGED
|
@@ -1,43 +1,40 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
-
|
|
3
1
|
import React from 'react';
|
|
4
2
|
import ReactDom from "react-dom/client";
|
|
5
3
|
import { HashRouter as Router, Routes, Route } from 'react-router-dom';
|
|
6
4
|
|
|
7
5
|
import { TestPage } from './components/stateful/TestPage';
|
|
8
|
-
import { Container } from 'react-bootstrap';
|
|
9
|
-
import { SettingsButton } from './SettingsButton';
|
|
10
6
|
import { ProjectPage } from './components/stateful/ProjectPage';
|
|
11
7
|
import { ProjectsPage } from './components/stateful/ProjectsPage';
|
|
8
|
+
import { AppFrame } from './components/pure/AppFrame';
|
|
9
|
+
import { FeaturesReporter } from './components/stateful/FeaturesReporter';
|
|
10
|
+
import { DesignEditorPage } from './components/DesignEditorPage';
|
|
11
|
+
import { TextEditorPage } from './components/stateful/TextEditorPage';
|
|
12
|
+
import { ProcessManagerPage } from './components/stateful/ProcessManagerPage';
|
|
13
|
+
import { SingleProcessPage } from './components/stateful/SingleProcessPage';
|
|
14
|
+
import { SettingsPage } from './components/stateful/SettingsPage';
|
|
15
|
+
|
|
12
16
|
|
|
13
17
|
export const App = () => {
|
|
14
18
|
return (
|
|
15
19
|
<Router>
|
|
16
|
-
<
|
|
17
|
-
<
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
</div>
|
|
31
|
-
<Container className="text-end" fluid={true}>
|
|
32
|
-
made with ❤️ and <a href="https://www.npmjs.com/package/testeranto">testeranto</a>
|
|
33
|
-
</Container>
|
|
34
|
-
</footer>
|
|
35
|
-
</div>
|
|
20
|
+
<AppFrame>
|
|
21
|
+
<Routes>
|
|
22
|
+
<Route path="/" element={<ProjectsPage />} />
|
|
23
|
+
<Route path="/projects/:projectName" element={<ProjectPage />} />
|
|
24
|
+
<Route path="/projects/:projectName/tests/*" element={<TestPage />} />
|
|
25
|
+
<Route path="/projects/:projectName#:tab" element={<ProjectPage />} />
|
|
26
|
+
<Route path="/features-reporter" element={<FeaturesReporter />} />
|
|
27
|
+
<Route path="/design-editor" element={<DesignEditorPage />} />
|
|
28
|
+
<Route path="/text-editor" element={<TextEditorPage />} />
|
|
29
|
+
<Route path="/processes" element={<ProcessManagerPage />} />
|
|
30
|
+
<Route path="/processes/:processId" element={<SingleProcessPage />} />
|
|
31
|
+
<Route path="/settings" element={<SettingsPage />} />
|
|
32
|
+
</Routes>
|
|
33
|
+
</AppFrame>
|
|
36
34
|
</Router>
|
|
37
35
|
);
|
|
38
36
|
};
|
|
39
37
|
|
|
40
|
-
|
|
41
38
|
// Export App to global scope
|
|
42
39
|
function initApp() {
|
|
43
40
|
const rootElement = document.getElementById('root');
|
package/src/Node.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import Testeranto from "./lib/core.js";
|
|
2
2
|
import {
|
|
3
3
|
defaultTestResourceRequirement,
|
|
4
|
-
ITTestResourceConfiguration,
|
|
5
4
|
ITTestResourceRequest,
|
|
6
5
|
} from "./lib/index.js";
|
|
7
6
|
import { PM_Node } from "./PM/node.js";
|
|
@@ -41,10 +40,9 @@ export class NodeTesteranto<
|
|
|
41
40
|
}
|
|
42
41
|
|
|
43
42
|
async receiveTestResourceConfig(partialTestResource: string) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return await this.testJobs[0].receiveTestResourceConfig(pm);
|
|
43
|
+
return await this.testJobs[0].receiveTestResourceConfig(
|
|
44
|
+
new PM_Node(JSON.parse(partialTestResource), ipcfile)
|
|
45
|
+
);
|
|
48
46
|
}
|
|
49
47
|
}
|
|
50
48
|
|
|
@@ -71,12 +69,11 @@ const testeranto = async <I extends Ibdd_in_any, O extends Ibdd_out, M>(
|
|
|
71
69
|
});
|
|
72
70
|
|
|
73
71
|
ipcfile = process.argv[3];
|
|
74
|
-
const f = await t.receiveTestResourceConfig(process.argv[2]);
|
|
75
72
|
|
|
76
|
-
|
|
77
|
-
process.exit(f.fails);
|
|
73
|
+
process.exit((await t.receiveTestResourceConfig(process.argv[2])).fails);
|
|
78
74
|
} catch (e) {
|
|
79
|
-
console.error(
|
|
75
|
+
console.error(e);
|
|
76
|
+
console.error(e.stack);
|
|
80
77
|
process.exit(-1);
|
|
81
78
|
}
|
|
82
79
|
};
|