testeranto 0.200.1 → 0.203.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -1
- package/UX/chache/index.md +11 -0
- package/design-editor/DesignEditor.tsx +40 -241
- package/dist/prebuild/App.css +171 -120
- package/dist/prebuild/App.js +47117 -11727
- package/dist/prebuild/testeranto.mjs +5048 -2578
- package/example/Calculator.go +63 -0
- package/example/Calculator.golingvu.adapter.go +81 -0
- package/example/Calculator.golingvu.go +67 -0
- package/example/Calculator.golingvu.implementation.go +95 -0
- package/example/Calculator.golingvu.specification.go +68 -0
- package/example/Calculator.pitono.adapter.py +68 -0
- package/example/Calculator.pitono.implementation.py +30 -0
- package/example/Calculator.pitono.specification.py +154 -0
- package/example/Calculator.pitono.test.py +47 -0
- package/example/Calculator.py +93 -0
- package/example/Calculator.test.adapter.ts +86 -0
- package/example/Calculator.test.implementation.ts +82 -0
- package/example/Calculator.test.specification.ts +213 -0
- package/example/Calculator.test.ts +13 -0
- package/example/Calculator.test.types.ts +50 -0
- package/example/Calculator.ts +130 -0
- package/example/README.md +1 -0
- package/example/base_suite_test.go +51 -0
- package/example/cmd/main.go +16 -0
- package/example/go.mod +9 -0
- package/example/main +0 -0
- package/example/test_example.py +143 -74
- package/example/testeranto/bundles/golang/core/Calculator.golingvu.go +53 -0
- package/example/testeranto/metafiles/golang/core.json +198 -0
- package/git-integration-plan.md +395 -0
- package/go.mod +3 -1
- package/golingvu.tmp.txt +68 -0
- package/log.txt +85 -0
- package/package.json +67 -46
- package/scripts/build-example.ts +245 -0
- package/src/App.tsx +226 -25
- package/src/Helpo.tsx +89 -0
- package/src/PM/PM_WithBuild.ts +183 -0
- package/src/PM/PM_WithEslintAndTsc.ts +109 -86
- package/src/PM/PM_WithGit.ts +632 -0
- package/src/PM/PM_WithHelpo.ts +341 -0
- package/src/PM/PM_WithProcesses.ts +900 -0
- package/src/PM/PM_WithWebSocket.ts +839 -0
- package/src/PM/base.ts +63 -1
- package/src/PM/golingvuBuild.ts +56 -0
- package/src/PM/index.ts +8 -5
- package/src/PM/main.ts +735 -1981
- package/src/PM/node.ts +18 -18
- package/src/PM/pitonoBuild.ts +56 -0
- package/src/PM/pure.ts +5 -13
- package/src/PM/types.ts +145 -0
- package/src/PM/utils.ts +262 -0
- package/src/PM/web.ts +8 -8
- package/src/README.md +122 -0
- package/src/ReportServer.ts +0 -12
- package/src/ReportServerLib.ts +0 -147
- package/src/Types.ts +1 -0
- package/src/app.scss +92 -140
- package/src/components/pure/AppFrame.tsx +354 -78
- package/src/components/pure/ArtifactTree.tsx +82 -0
- package/src/components/pure/BuildLogViewer.tsx +168 -0
- package/src/components/pure/DebugEnv.tsx +30 -0
- package/src/components/pure/FileTree.tsx +58 -0
- package/src/components/pure/FileTreeItem.tsx +49 -0
- package/src/components/pure/GitHubLoginButton.tsx +31 -0
- package/src/components/pure/GitIntegrationView.tsx +732 -0
- package/src/components/pure/HelpoChatDrawer.tsx +222 -0
- package/src/components/pure/MagicRobotModal.tsx +136 -0
- package/src/components/pure/ProcessDetails.tsx +99 -0
- package/src/components/pure/ProcessInput.tsx +67 -0
- package/src/components/pure/ProcessList.tsx +89 -0
- package/src/components/pure/ProcessLogs.tsx +54 -0
- package/src/components/pure/ProcessManager.tsx +38 -46
- package/src/components/pure/ProcessManagerView.tsx +44 -373
- package/src/components/pure/ProcessManagerViewTypes.ts +10 -0
- package/src/components/pure/ProcessSidebar.tsx +88 -0
- package/src/components/pure/ProcessTerminal.tsx +51 -0
- package/src/components/pure/ProjectPageView.tsx +6 -224
- package/src/components/pure/Settings.test.tsx +34 -0
- package/src/components/pure/Settings.tsx +163 -0
- package/src/components/pure/SignIn.tsx +33 -0
- package/src/components/pure/SingleProcessView.tsx +85 -180
- package/src/components/pure/TerminalInput.tsx +73 -0
- package/src/components/pure/TerminalLogs.tsx +80 -0
- package/src/components/pure/TestPageView.test/specification.ts +1 -0
- package/src/components/pure/TestPageView.tsx +308 -912
- package/src/components/pure/TestPageView_utils.tsx +287 -0
- package/src/components/pure/TestTable.tsx +88 -0
- package/src/components/pure/ToastNotification.tsx +19 -0
- package/src/components/pure/UserProfile.tsx +44 -0
- package/src/components/stateful/AuthCallbackPage.tsx +21 -0
- package/src/components/stateful/DratoPage.tsx +457 -0
- package/src/components/stateful/FeaturesReporter.tsx +3 -1
- package/src/components/stateful/FileTree.tsx +58 -58
- package/src/components/stateful/GenericXMLEditor/AttributeEditor.tsx +87 -0
- package/src/components/stateful/GenericXMLEditor/Drawer.tsx +174 -0
- package/src/components/stateful/GenericXMLEditor/GenericPreview.tsx +160 -0
- package/src/components/stateful/GenericXMLEditor/GenericTextEditor.tsx +104 -0
- package/src/components/stateful/GenericXMLEditor/GenericTree.tsx +104 -0
- package/src/components/stateful/GenericXMLEditorPage.tsx +346 -0
- package/src/components/stateful/GitIntegrationPage.tsx +263 -0
- package/src/components/stateful/GrafeoPage.tsx +563 -0
- package/src/components/stateful/ProcessManagerPage.tsx +13 -17
- package/src/components/stateful/ProjectPage.tsx +6 -5
- package/src/components/stateful/ProjectsPage.tsx +17 -19
- package/src/components/stateful/SVGEditor/CircleForm.tsx +68 -0
- package/src/components/stateful/SVGEditor/GroupForm.tsx +56 -0
- package/src/components/stateful/SVGEditor/RectForm.tsx +74 -0
- package/src/components/stateful/SVGEditor/SVGAttributeField.tsx +29 -0
- package/src/components/stateful/SVGEditor/SVGAttributesEditor.tsx +91 -0
- package/src/components/stateful/SVGEditor/SVGEditorControls.tsx +45 -0
- package/src/components/stateful/SVGEditor/SVGElementForm.tsx +45 -0
- package/src/components/stateful/SVGEditor/SVGPreview.tsx +227 -0
- package/src/components/stateful/SVGEditor/SVGTextEditor.tsx +166 -0
- package/src/components/stateful/SVGEditor/SVGTree.tsx +159 -0
- package/src/components/stateful/SVGEditor/SVGTypes.ts +36 -0
- package/src/components/stateful/SVGEditor/svg.xsd.xml +3038 -0
- package/src/components/stateful/SVGEditorPage.tsx +517 -0
- package/src/components/stateful/SingleProcessPage.tsx +133 -144
- package/src/components/stateful/SkriboPage.tsx +765 -0
- package/src/components/stateful/TestPage.tsx +27 -23
- package/src/esbuildConfigs/node.ts +1 -1
- package/src/example/go.mod +9 -0
- package/src/example/main.go +61 -0
- package/src/golingvu/PM/golang_test.go +103 -0
- package/src/golingvu/README.md +186 -2
- package/src/golingvu/base_given.go +89 -2
- package/src/golingvu/base_suite.go +48 -2
- package/src/golingvu/go.mod +6 -0
- package/src/golingvu/golingvu.go +724 -14
- package/src/golingvu/types.go +0 -14
- package/src/helpo/directives.md +5 -0
- package/src/helpo/prompt.txt +38 -0
- package/src/hooks/useGitMode.ts +20 -0
- package/src/hooks/useTerminalWebSocket.ts +49 -0
- package/src/lib/BaseGiven.ts +126 -28
- package/src/lib/BaseSuite.test/mock.ts +16 -10
- package/src/lib/BaseSuite.test/test.ts +165 -207
- package/src/lib/BaseSuite.ts +52 -10
- package/src/lib/BaseThen.ts +34 -38
- package/src/lib/BaseWhen.ts +9 -2
- package/src/lib/Tiposkripto.test/MockTiposkripto.ts +178 -14
- package/src/lib/Tiposkripto.test/Tiposkripto.adapter.ts +9 -14
- package/src/lib/Tiposkripto.test/Tiposkripto.implementation.ts +78 -38
- package/src/lib/Tiposkripto.test/Tiposkripto.specification.ts +51 -8
- package/src/lib/Tiposkripto.test/Tiposkripto.types.ts +5 -0
- package/src/lib/Tiposkripto.ts +64 -7
- package/src/lib/index.ts +7 -0
- package/src/lib/pmProxy.test/specification.ts +168 -166
- package/src/lib/pmProxy.ts +55 -18
- package/src/pitono/PM/python.py +165 -0
- package/src/pitono/Pitono.py +298 -0
- package/src/pitono/PitonoTest.py +25 -0
- package/src/pitono/README.md +21 -0
- package/src/pitono/__init__.py +6 -0
- package/{pitono → src/pitono}/base_given.py +42 -20
- package/{pitono → src/pitono}/base_suite.py +55 -2
- package/{pitono → src/pitono}/base_then.py +15 -1
- package/{pitono → src/pitono}/base_when.py +15 -1
- package/{pitono → src/pitono}/pitono.egg-info/PKG-INFO +25 -0
- package/{pitono → src/pitono}/pitono.egg-info/SOURCES.txt +1 -0
- package/src/pitono/types.py +87 -0
- package/src/services/FileService.ts +677 -0
- package/src/services/GitHubAuthService.ts +240 -0
- package/src/testeranto.ts +133 -245
- package/src/utils/api.ts +15 -13
- package/src/utils/gitTest.ts +29 -0
- package/src/utils/golingvuMetafile.ts +822 -118
- package/src/utils/golingvuWatcher.ts +285 -0
- package/src/utils/logFiles.ts +10 -2
- package/src/utils/makePrompt.ts +12 -1
- package/src/utils/pitonoMetafile.ts +326 -54
- package/src/utils/pitonoWatcher.ts +157 -0
- package/src/utils.ts +21 -12
- package/testeranto/App.css +171 -120
- package/testeranto/App.js +47117 -11727
- package/testeranto/bundles/node/core/chunk-MJTSYIAQ.mjs +1099 -0
- package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +58 -1147
- package/testeranto/bundles/node/core/src/lib/TipoSkripto.test/TipoSkripto.mjs +572 -0
- package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +4795 -0
- package/testeranto/bundles/pure/core/chunk-6HR24P27.mjs +1003 -0
- package/testeranto/bundles/pure/core/src/Pure.test.mjs +410 -0
- package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +57 -1062
- 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-AZZHJNSU.mjs +30278 -0
- package/testeranto/bundles/web/core/chunk-ME6I6FJZ.mjs +3005 -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 +162 -0
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.css +11619 -0
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +6924 -0
- package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.mjs +71 -1050
- package/testeranto/helpo_chat_history.json +1 -0
- package/testeranto/metafiles/golang/core.json +42 -47
- package/testeranto/metafiles/node/core.json +584 -125
- package/testeranto/metafiles/pure/core.json +152 -51
- package/testeranto/metafiles/python/core.json +87 -0
- package/testeranto/metafiles/web/core.json +16365 -75
- package/testeranto/reports/core/config.json +66 -2
- package/testeranto/reports/core/example/Calculator.golingvu/golang/exit.log +1 -0
- package/testeranto/reports/core/example/Calculator.golingvu/golang/stderr.log +2 -0
- package/testeranto/reports/core/example/Calculator.golingvu/golang/stdout.log +1 -0
- package/testeranto/reports/core/example/Calculator.pitono.test/python/exit.log +1 -0
- package/testeranto/reports/core/example/Calculator.pitono.test/python/stderr.log +11 -0
- package/testeranto/reports/core/example/Calculator.pitono.test/python/stdout.log +1 -0
- package/testeranto/reports/core/example/Calculator.test/node/exit.log +1 -0
- package/testeranto/reports/core/example/Calculator.test/node/lint_errors.txt +2 -0
- package/testeranto/reports/core/example/Calculator.test/node/message.txt +16 -0
- package/testeranto/reports/core/example/Calculator.test/node/prompt.txt +13 -0
- package/testeranto/reports/core/example/Calculator.test/node/stderr.log +33 -0
- package/testeranto/reports/core/example/Calculator.test/node/stdout.log +1076 -0
- package/testeranto/reports/core/example/Calculator.test/node/tests.json +1109 -0
- package/testeranto/reports/core/example/Calculator.test/node/type_errors.txt +34 -0
- package/testeranto/reports/core/example/test_example/python/exit.log +1 -0
- package/testeranto/reports/core/example/test_example/python/stderr.log +24 -0
- package/testeranto/reports/core/src/Pure.test/pure/message.txt +16 -0
- package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +13 -0
- package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +86 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +0 -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/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 +26 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/type_errors.txt +69 -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 +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/lint_errors.txt +16 -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 +27 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/type_errors.txt +42 -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 +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +0 -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/lint_errors.txt +30 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +17 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +30 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +58 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/exit.log +1 -1
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -6
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +9 -12
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stderr.log +1 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +4 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +99 -8
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +57 -44
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -2
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/message.txt +1 -2
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +4 -16
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +62 -44
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +0 -1
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/exit.log +0 -1
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -2
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +13 -13
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +57 -44
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/message.txt +16 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/prompt.txt +13 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stderr.log +88 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stdout.log +521 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/tests.json +166 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/type_errors.txt +78 -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 +25 -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 +2 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +31 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +62 -0
- package/testeranto/reports/core/summary.json +66 -11
- package/testeranto.config.ts +38 -44
- package/tsc.log +141 -91
- package/tsconfig.json +6 -2
- package/dist/cjs-shim.js +0 -12
- package/dist/common/design-editor/DesignEditor.js +0 -242
- package/dist/common/design-editor/index.js +0 -18
- package/dist/common/design-editor/server.js +0 -98
- package/dist/common/design-editor/types.js +0 -2
- package/dist/common/package.json +0 -3
- package/dist/common/src/App.js +0 -77
- package/dist/common/src/CoreTypes.js +0 -2
- package/dist/common/src/Init.js +0 -48
- package/dist/common/src/Node.js +0 -40
- package/dist/common/src/NodeSidecar.js +0 -15
- package/dist/common/src/PM/PM_WithEslintAndTsc.js +0 -192
- package/dist/common/src/PM/__tests__/nodeSidecar.testeranto.js +0 -108
- package/dist/common/src/PM/__tests__/pureSidecar.testeranto.js +0 -93
- package/dist/common/src/PM/__tests__/webSidecar.testeranto.js +0 -93
- package/dist/common/src/PM/base.js +0 -257
- package/dist/common/src/PM/index.js +0 -6
- package/dist/common/src/PM/main.js +0 -1815
- package/dist/common/src/PM/node.js +0 -185
- package/dist/common/src/PM/nodeSidecar.js +0 -65
- package/dist/common/src/PM/pitonoRunner.js +0 -54
- package/dist/common/src/PM/pure.js +0 -111
- package/dist/common/src/PM/pureSidecar.js +0 -48
- package/dist/common/src/PM/sidecar.js +0 -11
- package/dist/common/src/PM/types.js +0 -1
- package/dist/common/src/PM/web.js +0 -112
- package/dist/common/src/PM/webSidecar.js +0 -47
- package/dist/common/src/Pure.js +0 -52
- package/dist/common/src/Pure.test.js +0 -180
- package/dist/common/src/PureSidecar.js +0 -13
- package/dist/common/src/ReportServer.js +0 -11
- package/dist/common/src/ReportServer.test.ts/index.js +0 -78
- package/dist/common/src/ReportServerLib.js +0 -141
- package/dist/common/src/Types.js +0 -2
- package/dist/common/src/Web.js +0 -61
- package/dist/common/src/WebSidecar.js +0 -14
- package/dist/common/src/components/DesignEditorPage.js +0 -205
- package/dist/common/src/components/SunriseAnimation.js +0 -291
- package/dist/common/src/components/SunriseAnimation.test/implementation.js +0 -1
- package/dist/common/src/components/SunriseAnimation.test/index.js +0 -1
- package/dist/common/src/components/SunriseAnimation.test/interface.js +0 -68
- package/dist/common/src/components/SunriseAnimation.test/specification.js +0 -1
- package/dist/common/src/components/SunriseAnimation.test/types.js +0 -2
- package/dist/common/src/components/TestStatusBadge.js +0 -35
- package/dist/common/src/components/pure/AppFrame.js +0 -69
- package/dist/common/src/components/pure/AppFrame.test/implementation.js +0 -63
- package/dist/common/src/components/pure/AppFrame.test/index.js +0 -14
- package/dist/common/src/components/pure/AppFrame.test/specification.js +0 -25
- package/dist/common/src/components/pure/AppFrame.test/types.js +0 -3
- package/dist/common/src/components/pure/FeaturesReporterView.js +0 -23
- package/dist/common/src/components/pure/FeaturesReporterView.test/implementation.js +0 -84
- package/dist/common/src/components/pure/FeaturesReporterView.test/index.js +0 -14
- package/dist/common/src/components/pure/FeaturesReporterView.test/specification.js +0 -27
- package/dist/common/src/components/pure/FeaturesReporterView.test/types.js +0 -2
- package/dist/common/src/components/pure/ModalContent.js +0 -86
- package/dist/common/src/components/pure/ModalContent.test/implementation.js +0 -35
- package/dist/common/src/components/pure/ModalContent.test/index.js +0 -58
- package/dist/common/src/components/pure/ModalContent.test/specification.js +0 -19
- package/dist/common/src/components/pure/ModalContent.test/types.js +0 -4
- package/dist/common/src/components/pure/NavBar.js +0 -44
- package/dist/common/src/components/pure/ProcessManager.js +0 -112
- package/dist/common/src/components/pure/ProcessManagerView.js +0 -237
- package/dist/common/src/components/pure/ProjectPageView.js +0 -181
- package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +0 -184
- package/dist/common/src/components/pure/ProjectPageView.test/index.js +0 -14
- package/dist/common/src/components/pure/ProjectPageView.test/specification.js +0 -32
- package/dist/common/src/components/pure/ProjectPageView.test/types.js +0 -4
- package/dist/common/src/components/pure/ProjectsPageView.js +0 -72
- package/dist/common/src/components/pure/SettingsButton.js +0 -13
- package/dist/common/src/components/pure/SingleProcessView.js +0 -214
- package/dist/common/src/components/pure/TestPageView.js +0 -628
- package/dist/common/src/components/pure/TestPageView.test/implementation.js +0 -157
- package/dist/common/src/components/pure/TestPageView.test/index.js +0 -15
- package/dist/common/src/components/pure/TestPageView.test/specification.js +0 -26
- package/dist/common/src/components/pure/TestPageView.test/types.js +0 -4
- package/dist/common/src/components/pure/ThemeCard.js +0 -15
- package/dist/common/src/components/stateful/FeaturesReporter.js +0 -59
- package/dist/common/src/components/stateful/FileTree.js +0 -40
- package/dist/common/src/components/stateful/ProcessManagerPage.js +0 -112
- package/dist/common/src/components/stateful/ProjectPage.js +0 -101
- package/dist/common/src/components/stateful/ProjectsPage.js +0 -118
- package/dist/common/src/components/stateful/SettingsPage.js +0 -72
- package/dist/common/src/components/stateful/SingleProcessPage.js +0 -147
- package/dist/common/src/components/stateful/TestPage.js +0 -268
- package/dist/common/src/components/stateful/TextEditorPage.js +0 -154
- package/dist/common/src/defaultConfig.js +0 -19
- package/dist/common/src/esbuildConfigs/consoleDetectorPlugin.js +0 -38
- package/dist/common/src/esbuildConfigs/eslint-formatter-testeranto.js +0 -21
- package/dist/common/src/esbuildConfigs/featuresPlugin.js +0 -39
- package/dist/common/src/esbuildConfigs/index.js +0 -21
- package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +0 -30
- package/dist/common/src/esbuildConfigs/nativeImportDetectorPlugin.js +0 -24
- package/dist/common/src/esbuildConfigs/node.js +0 -24
- package/dist/common/src/esbuildConfigs/pure.js +0 -42
- package/dist/common/src/esbuildConfigs/rebuildPlugin.js +0 -19
- package/dist/common/src/esbuildConfigs/web.js +0 -48
- package/dist/common/src/init-docs.js +0 -9
- package/dist/common/src/lib/BaseGiven.js +0 -99
- package/dist/common/src/lib/BaseSuite.js +0 -91
- package/dist/common/src/lib/BaseSuite.test/mock.js +0 -61
- package/dist/common/src/lib/BaseSuite.test/node.test.js +0 -10
- package/dist/common/src/lib/BaseSuite.test/pure.test.js +0 -10
- package/dist/common/src/lib/BaseSuite.test/test.js +0 -253
- package/dist/common/src/lib/BaseSuite.test/web.test.js +0 -10
- package/dist/common/src/lib/BaseThen.js +0 -64
- package/dist/common/src/lib/BaseWhen.js +0 -45
- package/dist/common/src/lib/Sidecar.js +0 -7
- package/dist/common/src/lib/Tiposkripto.js +0 -149
- package/dist/common/src/lib/Tiposkripto.test/MockTiposkripto.js +0 -36
- package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +0 -35
- package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +0 -173
- package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.js +0 -11
- package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.specification.js +0 -42
- package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.types.js +0 -2
- package/dist/common/src/lib/abstractBase.test/MockGiven.js +0 -24
- package/dist/common/src/lib/abstractBase.test/MockThen.js +0 -16
- package/dist/common/src/lib/abstractBase.test/MockWhen.js +0 -20
- package/dist/common/src/lib/abstractBase.test/adapter.js +0 -24
- package/dist/common/src/lib/abstractBase.test/implementation.js +0 -38
- package/dist/common/src/lib/abstractBase.test/index.js +0 -18
- package/dist/common/src/lib/abstractBase.test/specification.js +0 -19
- package/dist/common/src/lib/abstractBase.test/types.js +0 -2
- package/dist/common/src/lib/index.js +0 -31
- package/dist/common/src/lib/pmProxy.js +0 -293
- package/dist/common/src/lib/pmProxy.test/adapter.js +0 -54
- package/dist/common/src/lib/pmProxy.test/implementation.js +0 -137
- package/dist/common/src/lib/pmProxy.test/index.js +0 -15
- package/dist/common/src/lib/pmProxy.test/mockPM.js +0 -34
- package/dist/common/src/lib/pmProxy.test/mockPMBase.js +0 -131
- package/dist/common/src/lib/pmProxy.test/specification.js +0 -64
- package/dist/common/src/lib/pmProxy.test/types.js +0 -2
- package/dist/common/src/lib/types.js +0 -3
- package/dist/common/src/mothership/index.js +0 -21
- package/dist/common/src/mothership/test.js +0 -83
- package/dist/common/src/run.js +0 -49
- package/dist/common/src/testeranto.js +0 -283
- package/dist/common/src/types/features.js +0 -34
- package/dist/common/src/utils/api.js +0 -89
- package/dist/common/src/utils/buildTemplates.js +0 -37
- package/dist/common/src/utils/featureUtils.js +0 -29
- package/dist/common/src/utils/golingvuMetafile.js +0 -116
- package/dist/common/src/utils/logFiles.js +0 -52
- package/dist/common/src/utils/makePrompt.js +0 -116
- package/dist/common/src/utils/pitonoMetafile.js +0 -67
- package/dist/common/src/utils/queue.js +0 -36
- package/dist/common/src/utils.js +0 -133
- package/dist/common/src/web.html.js +0 -18
- package/dist/common/testeranto.config.js +0 -98
- package/dist/common/tsconfig.common.tsbuildinfo +0 -1
- package/dist/module/design-editor/DesignEditor.js +0 -206
- package/dist/module/design-editor/index.js +0 -2
- package/dist/module/design-editor/server.js +0 -92
- package/dist/module/design-editor/types.js +0 -1
- package/dist/module/package.json +0 -3
- package/dist/module/src/App.js +0 -70
- package/dist/module/src/CoreTypes.js +0 -1
- package/dist/module/src/Init.js +0 -43
- package/dist/module/src/Node.js +0 -33
- package/dist/module/src/NodeSidecar.js +0 -11
- package/dist/module/src/PM/PM_WithEslintAndTsc.js +0 -185
- package/dist/module/src/PM/__tests__/nodeSidecar.testeranto.js +0 -103
- package/dist/module/src/PM/__tests__/pureSidecar.testeranto.js +0 -88
- package/dist/module/src/PM/__tests__/webSidecar.testeranto.js +0 -88
- package/dist/module/src/PM/base.js +0 -250
- package/dist/module/src/PM/index.js +0 -2
- package/dist/module/src/PM/main.js +0 -1775
- package/dist/module/src/PM/node.js +0 -178
- package/dist/module/src/PM/nodeSidecar.js +0 -58
- package/dist/module/src/PM/pitonoRunner.js +0 -47
- package/dist/module/src/PM/pure.js +0 -107
- package/dist/module/src/PM/pureSidecar.js +0 -41
- package/dist/module/src/PM/sidecar.js +0 -7
- package/dist/module/src/PM/types.js +0 -1
- package/dist/module/src/PM/web.js +0 -108
- package/dist/module/src/PM/webSidecar.js +0 -40
- package/dist/module/src/Pure.js +0 -45
- package/dist/module/src/Pure.test.js +0 -175
- package/dist/module/src/PureSidecar.js +0 -9
- package/dist/module/src/ReportServer.js +0 -9
- package/dist/module/src/ReportServer.test.ts/index.js +0 -73
- package/dist/module/src/ReportServerLib.js +0 -134
- package/dist/module/src/Types.js +0 -1
- package/dist/module/src/Web.js +0 -54
- package/dist/module/src/WebSidecar.js +0 -10
- package/dist/module/src/components/DesignEditorPage.js +0 -168
- package/dist/module/src/components/SunriseAnimation.js +0 -256
- package/dist/module/src/components/SunriseAnimation.test/implementation.js +0 -1
- package/dist/module/src/components/SunriseAnimation.test/index.js +0 -1
- package/dist/module/src/components/SunriseAnimation.test/interface.js +0 -32
- package/dist/module/src/components/SunriseAnimation.test/specification.js +0 -1
- package/dist/module/src/components/SunriseAnimation.test/types.js +0 -1
- package/dist/module/src/components/TestStatusBadge.js +0 -28
- package/dist/module/src/components/pure/AppFrame.js +0 -32
- package/dist/module/src/components/pure/AppFrame.test/implementation.js +0 -57
- package/dist/module/src/components/pure/AppFrame.test/index.js +0 -9
- package/dist/module/src/components/pure/AppFrame.test/specification.js +0 -21
- package/dist/module/src/components/pure/AppFrame.test/types.js +0 -2
- package/dist/module/src/components/pure/FeaturesReporterView.js +0 -16
- package/dist/module/src/components/pure/FeaturesReporterView.test/implementation.js +0 -81
- package/dist/module/src/components/pure/FeaturesReporterView.test/index.js +0 -9
- package/dist/module/src/components/pure/FeaturesReporterView.test/specification.js +0 -23
- package/dist/module/src/components/pure/FeaturesReporterView.test/types.js +0 -1
- package/dist/module/src/components/pure/ModalContent.js +0 -79
- package/dist/module/src/components/pure/ModalContent.test/implementation.js +0 -32
- package/dist/module/src/components/pure/ModalContent.test/index.js +0 -53
- package/dist/module/src/components/pure/ModalContent.test/specification.js +0 -15
- package/dist/module/src/components/pure/ModalContent.test/types.js +0 -3
- package/dist/module/src/components/pure/NavBar.js +0 -37
- package/dist/module/src/components/pure/ProcessManager.js +0 -75
- package/dist/module/src/components/pure/ProcessManagerView.js +0 -200
- package/dist/module/src/components/pure/ProjectPageView.js +0 -174
- package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +0 -181
- package/dist/module/src/components/pure/ProjectPageView.test/index.js +0 -9
- package/dist/module/src/components/pure/ProjectPageView.test/specification.js +0 -28
- package/dist/module/src/components/pure/ProjectPageView.test/types.js +0 -3
- package/dist/module/src/components/pure/ProjectsPageView.js +0 -65
- package/dist/module/src/components/pure/SettingsButton.js +0 -6
- package/dist/module/src/components/pure/SingleProcessView.js +0 -214
- package/dist/module/src/components/pure/TestPageView.js +0 -591
- package/dist/module/src/components/pure/TestPageView.test/implementation.js +0 -121
- package/dist/module/src/components/pure/TestPageView.test/index.js +0 -10
- package/dist/module/src/components/pure/TestPageView.test/specification.js +0 -22
- package/dist/module/src/components/pure/TestPageView.test/types.js +0 -3
- package/dist/module/src/components/pure/ThemeCard.js +0 -8
- package/dist/module/src/components/stateful/FeaturesReporter.js +0 -22
- package/dist/module/src/components/stateful/FileTree.js +0 -33
- package/dist/module/src/components/stateful/ProcessManagerPage.js +0 -75
- package/dist/module/src/components/stateful/ProjectPage.js +0 -64
- package/dist/module/src/components/stateful/ProjectsPage.js +0 -81
- package/dist/module/src/components/stateful/SettingsPage.js +0 -35
- package/dist/module/src/components/stateful/SingleProcessPage.js +0 -110
- package/dist/module/src/components/stateful/TestPage.js +0 -231
- package/dist/module/src/components/stateful/TextEditorPage.js +0 -117
- package/dist/module/src/defaultConfig.js +0 -17
- package/dist/module/src/esbuildConfigs/consoleDetectorPlugin.js +0 -32
- package/dist/module/src/esbuildConfigs/eslint-formatter-testeranto.js +0 -18
- package/dist/module/src/esbuildConfigs/featuresPlugin.js +0 -34
- package/dist/module/src/esbuildConfigs/index.js +0 -19
- package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +0 -25
- package/dist/module/src/esbuildConfigs/nativeImportDetectorPlugin.js +0 -21
- package/dist/module/src/esbuildConfigs/node.js +0 -19
- package/dist/module/src/esbuildConfigs/pure.js +0 -37
- package/dist/module/src/esbuildConfigs/rebuildPlugin.js +0 -14
- package/dist/module/src/esbuildConfigs/web.js +0 -43
- package/dist/module/src/init-docs.js +0 -4
- package/dist/module/src/lib/BaseGiven.js +0 -95
- package/dist/module/src/lib/BaseSuite.js +0 -87
- package/dist/module/src/lib/BaseSuite.test/mock.js +0 -54
- package/dist/module/src/lib/BaseSuite.test/node.test.js +0 -5
- package/dist/module/src/lib/BaseSuite.test/pure.test.js +0 -5
- package/dist/module/src/lib/BaseSuite.test/test.js +0 -249
- package/dist/module/src/lib/BaseSuite.test/web.test.js +0 -5
- package/dist/module/src/lib/BaseThen.js +0 -60
- package/dist/module/src/lib/BaseWhen.js +0 -41
- package/dist/module/src/lib/Sidecar.js +0 -3
- package/dist/module/src/lib/Tiposkripto.js +0 -146
- package/dist/module/src/lib/Tiposkripto.test/MockTiposkripto.js +0 -29
- package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +0 -32
- package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +0 -170
- package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.js +0 -6
- package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.specification.js +0 -38
- package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.types.js +0 -1
- package/dist/module/src/lib/abstractBase.test/MockGiven.js +0 -20
- package/dist/module/src/lib/abstractBase.test/MockThen.js +0 -12
- package/dist/module/src/lib/abstractBase.test/MockWhen.js +0 -16
- package/dist/module/src/lib/abstractBase.test/adapter.js +0 -21
- package/dist/module/src/lib/abstractBase.test/implementation.js +0 -35
- package/dist/module/src/lib/abstractBase.test/index.js +0 -13
- package/dist/module/src/lib/abstractBase.test/specification.js +0 -15
- package/dist/module/src/lib/abstractBase.test/types.js +0 -1
- package/dist/module/src/lib/index.js +0 -26
- package/dist/module/src/lib/pmProxy.js +0 -284
- package/dist/module/src/lib/pmProxy.test/adapter.js +0 -51
- package/dist/module/src/lib/pmProxy.test/implementation.js +0 -134
- package/dist/module/src/lib/pmProxy.test/index.js +0 -10
- package/dist/module/src/lib/pmProxy.test/mockPM.js +0 -30
- package/dist/module/src/lib/pmProxy.test/mockPMBase.js +0 -127
- package/dist/module/src/lib/pmProxy.test/specification.js +0 -60
- package/dist/module/src/lib/pmProxy.test/types.js +0 -1
- package/dist/module/src/lib/types.js +0 -2
- package/dist/module/src/mothership/index.js +0 -16
- package/dist/module/src/mothership/test.js +0 -78
- package/dist/module/src/run.js +0 -49
- package/dist/module/src/testeranto.js +0 -245
- package/dist/module/src/types/features.js +0 -31
- package/dist/module/src/utils/api.js +0 -84
- package/dist/module/src/utils/buildTemplates.js +0 -33
- package/dist/module/src/utils/featureUtils.js +0 -24
- package/dist/module/src/utils/golingvuMetafile.js +0 -109
- package/dist/module/src/utils/logFiles.js +0 -47
- package/dist/module/src/utils/makePrompt.js +0 -109
- package/dist/module/src/utils/pitonoMetafile.js +0 -60
- package/dist/module/src/utils/queue.js +0 -32
- package/dist/module/src/utils.js +0 -121
- package/dist/module/src/web.html.js +0 -16
- package/dist/module/testeranto.config.js +0 -96
- package/dist/module/tsconfig.module.tsbuildinfo +0 -1
- package/dist/types/design-editor/DesignEditor.d.ts +0 -18
- package/dist/types/design-editor/server.d.ts +0 -1
- package/dist/types/src/App.d.ts +0 -1
- package/dist/types/src/CoreTypes.d.ts +0 -52
- package/dist/types/src/Init.d.ts +0 -2
- package/dist/types/src/Node.d.ts +0 -9
- package/dist/types/src/NodeSidecar.d.ts +0 -6
- package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +0 -24
- package/dist/types/src/PM/__tests__/nodeSidecar.testeranto.d.ts +0 -2
- package/dist/types/src/PM/__tests__/pureSidecar.testeranto.d.ts +0 -2
- package/dist/types/src/PM/__tests__/webSidecar.testeranto.d.ts +0 -2
- package/dist/types/src/PM/base.d.ts +0 -35
- package/dist/types/src/PM/index.d.ts +0 -37
- package/dist/types/src/PM/main.d.ts +0 -79
- package/dist/types/src/PM/node.d.ts +0 -40
- package/dist/types/src/PM/nodeSidecar.d.ts +0 -13
- package/dist/types/src/PM/pitonoRunner.d.ts +0 -7
- package/dist/types/src/PM/pure.d.ts +0 -43
- package/dist/types/src/PM/pureSidecar.d.ts +0 -11
- package/dist/types/src/PM/sidecar.d.ts +0 -8
- package/dist/types/src/PM/web.d.ts +0 -43
- package/dist/types/src/PM/webSidecar.d.ts +0 -11
- package/dist/types/src/Pure.d.ts +0 -9
- package/dist/types/src/Pure.test.d.ts +0 -2
- package/dist/types/src/PureSidecar.d.ts +0 -8
- package/dist/types/src/ReportServer.d.ts +0 -1
- package/dist/types/src/ReportServer.test.ts/index.d.ts +0 -2
- package/dist/types/src/ReportServerLib.d.ts +0 -1
- package/dist/types/src/Types.d.ts +0 -118
- package/dist/types/src/Web.d.ts +0 -9
- package/dist/types/src/WebSidecar.d.ts +0 -8
- package/dist/types/src/components/DesignEditorPage.d.ts +0 -1
- package/dist/types/src/components/SunriseAnimation.d.ts +0 -5
- package/dist/types/src/components/SunriseAnimation.test/interface.d.ts +0 -11
- package/dist/types/src/components/SunriseAnimation.test/types.d.ts +0 -39
- package/dist/types/src/components/TestStatusBadge.d.ts +0 -15
- package/dist/types/src/components/pure/AppFrame.d.ts +0 -11
- package/dist/types/src/components/pure/AppFrame.test/implementation.d.ts +0 -3
- package/dist/types/src/components/pure/AppFrame.test/index.d.ts +0 -3
- package/dist/types/src/components/pure/AppFrame.test/specification.d.ts +0 -3
- package/dist/types/src/components/pure/AppFrame.test/types.d.ts +0 -33
- package/dist/types/src/components/pure/FeaturesReporterView.d.ts +0 -7
- package/dist/types/src/components/pure/FeaturesReporterView.test/implementation.d.ts +0 -3
- package/dist/types/src/components/pure/FeaturesReporterView.test/index.d.ts +0 -2
- package/dist/types/src/components/pure/FeaturesReporterView.test/specification.d.ts +0 -3
- package/dist/types/src/components/pure/FeaturesReporterView.test/types.d.ts +0 -54
- package/dist/types/src/components/pure/ModalContent.d.ts +0 -7
- package/dist/types/src/components/pure/ModalContent.test/implementation.d.ts +0 -3
- package/dist/types/src/components/pure/ModalContent.test/index.d.ts +0 -2
- package/dist/types/src/components/pure/ModalContent.test/specification.d.ts +0 -3
- package/dist/types/src/components/pure/ModalContent.test/types.d.ts +0 -45
- package/dist/types/src/components/pure/NavBar.d.ts +0 -23
- package/dist/types/src/components/pure/ProcessManager.d.ts +0 -8
- package/dist/types/src/components/pure/ProcessManagerView.d.ts +0 -20
- package/dist/types/src/components/pure/ProjectPageView.d.ts +0 -14
- package/dist/types/src/components/pure/ProjectPageView.test/implementation.d.ts +0 -3
- package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +0 -2
- package/dist/types/src/components/pure/ProjectPageView.test/specification.d.ts +0 -3
- package/dist/types/src/components/pure/ProjectPageView.test/types.d.ts +0 -57
- package/dist/types/src/components/pure/ProjectsPageView.d.ts +0 -29
- package/dist/types/src/components/pure/SettingsButton.d.ts +0 -2
- package/dist/types/src/components/pure/TestPageView.d.ts +0 -15
- package/dist/types/src/components/pure/TestPageView.test/implementation.d.ts +0 -12
- package/dist/types/src/components/pure/TestPageView.test/index.d.ts +0 -3
- package/dist/types/src/components/pure/TestPageView.test/specification.d.ts +0 -11
- package/dist/types/src/components/pure/TestPageView.test/types.d.ts +0 -65
- package/dist/types/src/components/pure/ThemeCard.d.ts +0 -9
- package/dist/types/src/components/stateful/FeaturesReporter.d.ts +0 -2
- package/dist/types/src/components/stateful/FileTree.d.ts +0 -8
- package/dist/types/src/components/stateful/ProcessManagerPage.d.ts +0 -2
- package/dist/types/src/components/stateful/ProjectPage.d.ts +0 -1
- package/dist/types/src/components/stateful/ProjectsPage.d.ts +0 -1
- package/dist/types/src/components/stateful/SettingsPage.d.ts +0 -2
- package/dist/types/src/components/stateful/SingleProcessPage.d.ts +0 -2
- package/dist/types/src/components/stateful/TestPage.d.ts +0 -1
- package/dist/types/src/components/stateful/TextEditorPage.d.ts +0 -1
- package/dist/types/src/defaultConfig.d.ts +0 -3
- package/dist/types/src/esbuildConfigs/consoleDetectorPlugin.d.ts +0 -2
- package/dist/types/src/esbuildConfigs/eslint-formatter-testeranto.d.ts +0 -2
- package/dist/types/src/esbuildConfigs/featuresPlugin.d.ts +0 -5
- package/dist/types/src/esbuildConfigs/index.d.ts +0 -4
- package/dist/types/src/esbuildConfigs/inputFilesPlugin.d.ts +0 -7
- package/dist/types/src/esbuildConfigs/nativeImportDetectorPlugin.d.ts +0 -2
- package/dist/types/src/esbuildConfigs/node.d.ts +0 -4
- package/dist/types/src/esbuildConfigs/pure.d.ts +0 -4
- package/dist/types/src/esbuildConfigs/rebuildPlugin.d.ts +0 -6
- package/dist/types/src/esbuildConfigs/web.d.ts +0 -4
- package/dist/types/src/init-docs.d.ts +0 -1
- package/dist/types/src/lib/BaseGiven.d.ts +0 -44
- package/dist/types/src/lib/BaseSuite.d.ts +0 -46
- package/dist/types/src/lib/BaseSuite.test/mock.d.ts +0 -21
- package/dist/types/src/lib/BaseSuite.test/node.test.d.ts +0 -2
- package/dist/types/src/lib/BaseSuite.test/pure.test.d.ts +0 -2
- package/dist/types/src/lib/BaseSuite.test/test.d.ts +0 -36
- package/dist/types/src/lib/BaseSuite.test/web.test.d.ts +0 -2
- package/dist/types/src/lib/BaseThen.d.ts +0 -27
- package/dist/types/src/lib/BaseWhen.d.ts +0 -27
- package/dist/types/src/lib/Sidecar.d.ts +0 -5
- package/dist/types/src/lib/Tiposkripto.d.ts +0 -35
- package/dist/types/src/lib/Tiposkripto.test/MockTiposkripto.d.ts +0 -15
- package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.adapter.d.ts +0 -3
- package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.d.ts +0 -2
- package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.implementation.d.ts +0 -3
- package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.specification.d.ts +0 -3
- package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.types.d.ts +0 -53
- package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +0 -9
- package/dist/types/src/lib/abstractBase.test/MockThen.d.ts +0 -6
- package/dist/types/src/lib/abstractBase.test/MockWhen.d.ts +0 -6
- package/dist/types/src/lib/abstractBase.test/adapter.d.ts +0 -3
- package/dist/types/src/lib/abstractBase.test/implementation.d.ts +0 -3
- package/dist/types/src/lib/abstractBase.test/index.d.ts +0 -2
- package/dist/types/src/lib/abstractBase.test/specification.d.ts +0 -3
- package/dist/types/src/lib/abstractBase.test/types.d.ts +0 -39
- package/dist/types/src/lib/index.d.ts +0 -67
- package/dist/types/src/lib/pmProxy.d.ts +0 -12
- package/dist/types/src/lib/pmProxy.test/adapter.d.ts +0 -3
- package/dist/types/src/lib/pmProxy.test/implementation.d.ts +0 -3
- package/dist/types/src/lib/pmProxy.test/index.d.ts +0 -6
- package/dist/types/src/lib/pmProxy.test/mockPM.d.ts +0 -10
- package/dist/types/src/lib/pmProxy.test/mockPMBase.d.ts +0 -40
- package/dist/types/src/lib/pmProxy.test/specification.d.ts +0 -3
- package/dist/types/src/lib/pmProxy.test/types.d.ts +0 -42
- package/dist/types/src/lib/types.d.ts +0 -24
- package/dist/types/src/mothership/index.d.ts +0 -2
- package/dist/types/src/mothership/test.d.ts +0 -2
- package/dist/types/src/testeranto.d.ts +0 -1
- package/dist/types/src/types/features.d.ts +0 -7
- package/dist/types/src/utils/api.d.ts +0 -9
- package/dist/types/src/utils/buildTemplates.d.ts +0 -1
- package/dist/types/src/utils/featureUtils.d.ts +0 -6
- package/dist/types/src/utils/golingvuMetafile.d.ts +0 -19
- package/dist/types/src/utils/logFiles.d.ts +0 -75
- package/dist/types/src/utils/makePrompt.d.ts +0 -2
- package/dist/types/src/utils/pitonoMetafile.d.ts +0 -7
- package/dist/types/src/utils/queue.d.ts +0 -11
- package/dist/types/src/utils.d.ts +0 -20
- package/dist/types/src/web.html.d.ts +0 -2
- package/dist/types/tsconfig.types.tsbuildinfo +0 -1
- package/pitono/__init__.py +0 -54
- package/pitono/types.py +0 -78
- package/src/golingvu/base_suite_test.go +0 -197
- package/src/templates/frontpage.html +0 -340
- package/src/templates/frontpage.md +0 -79
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/tests.json +0 -29
- /package/{pitono → src/pitono}/core_generator.py +0 -0
- /package/{pitono → src/pitono}/pitono.egg-info/dependency_links.txt +0 -0
- /package/{pitono → src/pitono}/pitono.egg-info/entry_points.txt +0 -0
- /package/{pitono → src/pitono}/pitono.egg-info/top_level.txt +0 -0
- /package/{pitono → src/pitono}/pyproject.toml +0 -0
- /package/{pitono → src/pitono}/setup.py +0 -0
- /package/{pitono → src/pitono}/simple_adapter.py +0 -0
- /package/{dist/types/src/PM/types.d.ts → testeranto/helpo_chat_message.txt} +0 -0
- /package/{dist/types/src/components/SunriseAnimation.test/implementation.d.ts → testeranto/reports/core/example/test_example/python/stdout.log} +0 -0
- /package/{dist/types/src/components/SunriseAnimation.test/index.d.ts → testeranto/reports/core/src/Pure.test/pure/exit.log} +0 -0
- /package/{dist/types/src/components/SunriseAnimation.test/specification.d.ts → testeranto/reports/core/src/Pure.test/pure/lint_errors.txt} +0 -0
- /package/{dist/types/src/components/pure/SingleProcessView.d.ts → testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log} +0 -0
- /package/{dist/types/src/run.d.ts → testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log} +0 -0
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import React, { useEffect, useState } from 'react';
|
|
3
3
|
import { useLocation, useNavigate, useParams } from 'react-router-dom';
|
|
4
4
|
import { DesignEditor } from '../../../design-editor/DesignEditor';
|
|
5
|
-
import { fetchTestData } from '../../utils/api';
|
|
5
|
+
import { fetchTestData, summaryDotJson } from '../../utils/api';
|
|
6
|
+
import { useWebSocket } from '../../App';
|
|
6
7
|
|
|
7
8
|
import { TestPageView } from '../pure/TestPageView';
|
|
8
9
|
|
|
@@ -11,6 +12,8 @@ export const TestPage = () => {
|
|
|
11
12
|
const navigate = useNavigate();
|
|
12
13
|
const location = useLocation();
|
|
13
14
|
const [route, setRoute] = useState('results');
|
|
15
|
+
const wsContext = useWebSocket();
|
|
16
|
+
const isConnected = wsContext?.isConnected || false;
|
|
14
17
|
|
|
15
18
|
// Sync route with hash changes
|
|
16
19
|
useEffect(() => {
|
|
@@ -51,33 +54,33 @@ export const TestPage = () => {
|
|
|
51
54
|
try {
|
|
52
55
|
const [testResponse, metafileRes] = await Promise.all([
|
|
53
56
|
fetchTestData(projectName, testPath, runtime),
|
|
54
|
-
fetch(
|
|
57
|
+
fetch(`metafiles/${runtime}/${projectName}.json`)
|
|
55
58
|
]);
|
|
56
|
-
|
|
57
|
-
console.log('Fetching test data for:', { projectName, testPath, runtime });
|
|
59
|
+
|
|
60
|
+
// console.log('Fetching test data for:', { projectName, testPath, runtime });
|
|
58
61
|
const receivedLogs = await testResponse.logs;
|
|
59
|
-
console.log('Received logs:', Object.keys(receivedLogs));
|
|
62
|
+
// console.log('Received logs:', Object.keys(receivedLogs));
|
|
60
63
|
let sourceFiles = {};
|
|
61
64
|
let buildLogs = {};
|
|
62
|
-
|
|
65
|
+
|
|
63
66
|
if (metafileRes.ok) {
|
|
64
67
|
const metafile = await metafileRes.json();
|
|
65
68
|
if (metafile?.metafile?.outputs) {
|
|
66
69
|
// Find input files only for this test's entry point
|
|
67
70
|
const tsSources = new Set<string>();
|
|
68
71
|
const testEntryPoint = `src/${testPath}`;
|
|
69
|
-
|
|
72
|
+
|
|
70
73
|
// First find all outputs that match this test
|
|
71
74
|
const matchingOutputs = Object.entries(metafile.metafile.outputs)
|
|
72
75
|
.filter(([outputPath, output]) => {
|
|
73
76
|
const normalizedTestPath = testPath.replace(/\./g, '_');
|
|
74
77
|
const testFileName = testPath.split('/').pop();
|
|
75
78
|
const testBaseName = testFileName?.split('.').slice(0, -1).join('.');
|
|
76
|
-
|
|
79
|
+
|
|
77
80
|
// Also check outputPath normalized for slashes replaced by underscores
|
|
78
81
|
const normalizedOutputPath = outputPath.replace(/\//g, '_');
|
|
79
|
-
|
|
80
|
-
return output.entryPoint === testEntryPoint ||
|
|
82
|
+
|
|
83
|
+
return output.entryPoint === testEntryPoint ||
|
|
81
84
|
outputPath.includes(normalizedTestPath) ||
|
|
82
85
|
normalizedOutputPath.includes(normalizedTestPath) ||
|
|
83
86
|
(testBaseName && outputPath.includes(testBaseName));
|
|
@@ -87,8 +90,8 @@ export const TestPage = () => {
|
|
|
87
90
|
matchingOutputs.forEach(([_, output]) => {
|
|
88
91
|
Object.keys(output.inputs).forEach(inputPath => {
|
|
89
92
|
// Check if this input is a source file (TypeScript or Go) and not in node_modules
|
|
90
|
-
if ((inputPath.endsWith('.ts') || inputPath.endsWith('.tsx') || inputPath.endsWith('.go')) &&
|
|
91
|
-
|
|
93
|
+
if ((inputPath.endsWith('.ts') || inputPath.endsWith('.tsx') || inputPath.endsWith('.go') || inputPath.endsWith('.py')) &&
|
|
94
|
+
!inputPath.includes('node_modules')) {
|
|
92
95
|
// Get the full input details from metafile.inputs
|
|
93
96
|
const inputDetails = metafile.metafile.inputs[inputPath];
|
|
94
97
|
if (inputDetails) {
|
|
@@ -98,8 +101,8 @@ export const TestPage = () => {
|
|
|
98
101
|
if (inputPath.endsWith('.ts') || inputPath.endsWith('.tsx')) {
|
|
99
102
|
inputDetails.imports.forEach(imp => {
|
|
100
103
|
if ((imp.path.endsWith('.ts') || imp.path.endsWith('.tsx')) &&
|
|
101
|
-
|
|
102
|
-
|
|
104
|
+
!imp.path.includes('node_modules') &&
|
|
105
|
+
!imp.external) {
|
|
103
106
|
tsSources.add(imp.path);
|
|
104
107
|
}
|
|
105
108
|
});
|
|
@@ -108,14 +111,14 @@ export const TestPage = () => {
|
|
|
108
111
|
}
|
|
109
112
|
});
|
|
110
113
|
});
|
|
111
|
-
|
|
114
|
+
|
|
112
115
|
// Organize source files into directory tree structure
|
|
113
116
|
const fileTree = {};
|
|
114
117
|
const filesList = await Promise.all(
|
|
115
118
|
Array.from(tsSources).map(async (filePath) => {
|
|
116
119
|
try {
|
|
117
|
-
const fetchPath = filePath.startsWith('/')
|
|
118
|
-
? filePath
|
|
120
|
+
const fetchPath = filePath.startsWith('/')
|
|
121
|
+
? filePath
|
|
119
122
|
: `/${filePath.replace(/^\.\//, '')}`;
|
|
120
123
|
const res = await fetch(fetchPath);
|
|
121
124
|
if (res.ok) {
|
|
@@ -134,10 +137,10 @@ export const TestPage = () => {
|
|
|
134
137
|
|
|
135
138
|
filesList.forEach(file => {
|
|
136
139
|
if (!file) return;
|
|
137
|
-
|
|
140
|
+
|
|
138
141
|
const parts = file.path.split('/');
|
|
139
142
|
let currentLevel = fileTree;
|
|
140
|
-
|
|
143
|
+
|
|
141
144
|
parts.forEach((part, index) => {
|
|
142
145
|
if (!currentLevel[part]) {
|
|
143
146
|
if (index === parts.length - 1) {
|
|
@@ -163,7 +166,7 @@ export const TestPage = () => {
|
|
|
163
166
|
receivedLogs['build_logs'] = buildLogs;
|
|
164
167
|
console.log('Source files structure:', sourceFiles);
|
|
165
168
|
console.log('Build logs:', buildLogs);
|
|
166
|
-
|
|
169
|
+
|
|
167
170
|
// Ensure tests.json is properly formatted
|
|
168
171
|
if (receivedLogs['tests.json']) {
|
|
169
172
|
console.log('tests.json content type:', typeof receivedLogs['tests.json']);
|
|
@@ -183,7 +186,7 @@ export const TestPage = () => {
|
|
|
183
186
|
// setLintErrors(testResponse.lintErrors);
|
|
184
187
|
|
|
185
188
|
try {
|
|
186
|
-
const summaryResponse = await fetch(
|
|
189
|
+
const summaryResponse = await fetch(summaryDotJson(projectName));
|
|
187
190
|
if (!summaryResponse.ok) throw new Error('Failed to fetch summary');
|
|
188
191
|
const allSummaries = await summaryResponse.json();
|
|
189
192
|
const testSummary = allSummaries[testPath];
|
|
@@ -211,11 +214,11 @@ export const TestPage = () => {
|
|
|
211
214
|
const pathParts = testPath.split('/');
|
|
212
215
|
const fileName = pathParts.pop();
|
|
213
216
|
const directoryPath = pathParts.join('/');
|
|
214
|
-
|
|
217
|
+
|
|
215
218
|
// Construct the path without the filename without extension
|
|
216
219
|
const buildUrl = `/reports/${projectName}/${directoryPath}/${runtime}/build.json`;
|
|
217
220
|
console.log(`Fetching build.json from: ${buildUrl}`);
|
|
218
|
-
|
|
221
|
+
|
|
219
222
|
const buildResponse = await fetch(buildUrl);
|
|
220
223
|
if (buildResponse.ok) {
|
|
221
224
|
const buildData = await buildResponse.json();
|
|
@@ -259,6 +262,7 @@ export const TestPage = () => {
|
|
|
259
262
|
logs={logs}
|
|
260
263
|
testsExist={testsExist}
|
|
261
264
|
errorCounts={errorCounts}
|
|
265
|
+
isWebSocketConnected={isConnected}
|
|
262
266
|
/>
|
|
263
267
|
</>
|
|
264
268
|
);
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
package main
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"encoding/json"
|
|
5
|
+
"fmt"
|
|
6
|
+
"os"
|
|
7
|
+
"path/filepath"
|
|
8
|
+
"testeranto/src/golingvu"
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
import (
|
|
12
|
+
"encoding/json"
|
|
13
|
+
"fmt"
|
|
14
|
+
"os"
|
|
15
|
+
"path/filepath"
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
func main() {
|
|
19
|
+
if len(os.Args) < 2 {
|
|
20
|
+
fmt.Println("Usage: go run main.go <test-resources-json>")
|
|
21
|
+
os.Exit(1)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Parse test resource configuration
|
|
25
|
+
var testResourceConfig golingvu.ITTestResourceConfiguration
|
|
26
|
+
err := json.Unmarshal([]byte(os.Args[1]), &testResourceConfig)
|
|
27
|
+
if err != nil {
|
|
28
|
+
fmt.Printf("Error parsing test resources: %v\n", err)
|
|
29
|
+
os.Exit(1)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Here you would set up your test runner
|
|
33
|
+
// For now, this is a placeholder
|
|
34
|
+
fmt.Println("Golang test runner started")
|
|
35
|
+
fmt.Printf("Test resources: %+v\n", testResourceConfig)
|
|
36
|
+
|
|
37
|
+
// The actual test execution would go here
|
|
38
|
+
// You would need to integrate with your test framework
|
|
39
|
+
|
|
40
|
+
// Write a basic tests.json to satisfy the framework
|
|
41
|
+
testsJsonPath := filepath.Join(testResourceConfig.Fs, "tests.json")
|
|
42
|
+
basicTestResult := map[string]interface{}{
|
|
43
|
+
"tests": []interface{}{},
|
|
44
|
+
"features": []interface{}{},
|
|
45
|
+
"givens": []interface{}{},
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
data, err := json.MarshalIndent(basicTestResult, "", " ")
|
|
49
|
+
if err != nil {
|
|
50
|
+
fmt.Printf("Error marshaling tests.json: %v\n", err)
|
|
51
|
+
os.Exit(1)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
err = os.WriteFile(testsJsonPath, data, 0644)
|
|
55
|
+
if err != nil {
|
|
56
|
+
fmt.Printf("Error writing tests.json: %v\n", err)
|
|
57
|
+
os.Exit(1)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
fmt.Println("Test execution completed")
|
|
61
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
package golingvu
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"fmt"
|
|
5
|
+
"net"
|
|
6
|
+
"testing"
|
|
7
|
+
"time"
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
func TestPM_Golang_Stop(t *testing.T) {
|
|
11
|
+
// Create a test configuration
|
|
12
|
+
testConfig := ITTestResourceConfiguration{
|
|
13
|
+
Name: "test",
|
|
14
|
+
Fs: "./",
|
|
15
|
+
Ports: []int{},
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Test that Stop method exists and can be called
|
|
19
|
+
pm := &PM_Golang{
|
|
20
|
+
testResourceConfiguration: testConfig,
|
|
21
|
+
client: nil,
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// This should not panic - test that the method exists
|
|
25
|
+
err := pm.Stop()
|
|
26
|
+
if err != nil {
|
|
27
|
+
t.Errorf("Stop() should return nil when client is nil, got: %v", err)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Test with a mock connection
|
|
31
|
+
// Create a temporary listener to test connection handling
|
|
32
|
+
ln, err := net.Listen("unix", "/tmp/test_socket_"+fmt.Sprintf("%d", time.Now().UnixNano()))
|
|
33
|
+
if err != nil {
|
|
34
|
+
t.Fatalf("Failed to create listener: %v", err)
|
|
35
|
+
}
|
|
36
|
+
defer ln.Close()
|
|
37
|
+
|
|
38
|
+
// Connect to the listener
|
|
39
|
+
conn, err := net.Dial("unix", ln.Addr().String())
|
|
40
|
+
if err != nil {
|
|
41
|
+
t.Fatalf("Failed to dial: %v", err)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
pmWithConn := &PM_Golang{
|
|
45
|
+
testResourceConfiguration: testConfig,
|
|
46
|
+
client: conn,
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Stop should close the connection
|
|
50
|
+
err = pmWithConn.Stop()
|
|
51
|
+
if err != nil {
|
|
52
|
+
t.Errorf("Stop() should close connection successfully, got: %v", err)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// The connection should now be closed
|
|
56
|
+
_, err = conn.Write([]byte("test"))
|
|
57
|
+
if err == nil {
|
|
58
|
+
t.Error("Connection should be closed after Stop()")
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// TestPM_Golang_Start tests that the Start method exists
|
|
63
|
+
func TestPM_Golang_Start(t *testing.T) {
|
|
64
|
+
testConfig := ITTestResourceConfiguration{
|
|
65
|
+
Name: "test",
|
|
66
|
+
Fs: "./",
|
|
67
|
+
Ports: []int{},
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
pm := &PM_Golang{
|
|
71
|
+
testResourceConfiguration: testConfig,
|
|
72
|
+
client: nil,
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Test that Start method exists and can be called
|
|
76
|
+
err := pm.Start()
|
|
77
|
+
if err != nil {
|
|
78
|
+
t.Errorf("Start() should return nil, got: %v", err)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
func TestPM_Golang_WriteFileSync(t *testing.T) {
|
|
83
|
+
testConfig := ITTestResourceConfiguration{
|
|
84
|
+
Name: "test",
|
|
85
|
+
Fs: "./",
|
|
86
|
+
Ports: []int{},
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
pm := &PM_Golang{
|
|
90
|
+
testResourceConfiguration: testConfig,
|
|
91
|
+
client: nil,
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Test that WriteFileSync method exists and can be called
|
|
95
|
+
// Since we don't have a real connection, this will fail, but we just want to check compilation
|
|
96
|
+
_, err := pm.WriteFileSync("test.txt", "content", "testName")
|
|
97
|
+
// We expect an error due to nil client, but the method should exist
|
|
98
|
+
if err == nil {
|
|
99
|
+
t.Log("WriteFileSync method exists and was called")
|
|
100
|
+
} else {
|
|
101
|
+
t.Logf("WriteFileSync method exists but returned error (expected): %v", err)
|
|
102
|
+
}
|
|
103
|
+
}
|
package/src/golingvu/README.md
CHANGED
|
@@ -1,3 +1,187 @@
|
|
|
1
|
-
# Golingvu
|
|
1
|
+
# Golingvu - Testeranto Implementation for Go
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Understanding the Build Process
|
|
4
|
+
|
|
5
|
+
The build process in Testeranto is inspired by esbuild's approach to bundling and metafile generation, adapted for multiple programming languages including Go, Python, and JavaScript variants.
|
|
6
|
+
|
|
7
|
+
### Core Concepts
|
|
8
|
+
|
|
9
|
+
#### 1. Metafile Generation
|
|
10
|
+
Each language implementation generates a `core.json` metafile that tracks:
|
|
11
|
+
- **Inputs**: Source files with their dependencies (imports) and metadata
|
|
12
|
+
- **Outputs**: Generated/bundled files with their relationships to inputs
|
|
13
|
+
- **Signatures**: Unique identifiers to track changes and trigger rebuilds
|
|
14
|
+
|
|
15
|
+
#### 2. File Watching
|
|
16
|
+
Two separate watchers work in tandem:
|
|
17
|
+
1. **Source Watcher**: Monitors source files for changes and triggers metafile regeneration
|
|
18
|
+
2. **Bundle Watcher**: Monitors generated files and schedules test execution when signatures change
|
|
19
|
+
|
|
20
|
+
#### 3. Signature-based Change Detection
|
|
21
|
+
- Each output file contains a unique signature in a comment
|
|
22
|
+
- When source files change, new signatures are generated
|
|
23
|
+
- Bundle watcher detects signature changes to trigger test execution
|
|
24
|
+
|
|
25
|
+
### How esbuild's Approach is Adapted
|
|
26
|
+
|
|
27
|
+
#### Original esbuild Flow:
|
|
28
|
+
1. Parse entry points and resolve imports
|
|
29
|
+
2. Bundle dependencies into output files
|
|
30
|
+
3. Generate metafile with input/output relationships
|
|
31
|
+
4. Watch for file changes and rebuild
|
|
32
|
+
|
|
33
|
+
#### Testeranto Adaptation:
|
|
34
|
+
1. **For each language**: Parse entry points and track dependencies
|
|
35
|
+
2. **Instead of bundling**: Generate wrapper files that import/run the original tests
|
|
36
|
+
3. **Generate metafile**: Track relationships between source files and generated wrappers
|
|
37
|
+
4. **Watch system**: Dual watchers for source changes and bundle updates
|
|
38
|
+
|
|
39
|
+
### Implementation Pattern for New Languages
|
|
40
|
+
|
|
41
|
+
To add support for a new language (e.g., Rust, Java, C#), follow this pattern:
|
|
42
|
+
|
|
43
|
+
#### 1. Metafile Generator (`src/utils/[language]Metafile.ts`)
|
|
44
|
+
```typescript
|
|
45
|
+
export async function generate[Language]Metafile(
|
|
46
|
+
testName: string,
|
|
47
|
+
entryPoints: string[]
|
|
48
|
+
): Promise<[Language]Metafile> {
|
|
49
|
+
// Parse entry point files to find imports/dependencies
|
|
50
|
+
// Generate unique signature
|
|
51
|
+
// Return metafile structure with inputs and outputs
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function write[Language]Metafile(
|
|
55
|
+
testName: string,
|
|
56
|
+
metafile: [Language]Metafile
|
|
57
|
+
): void {
|
|
58
|
+
// Write metafile to disk
|
|
59
|
+
// Generate output wrapper files with signatures
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### 2. File Watcher (`src/utils/[language]Watcher.ts`)
|
|
64
|
+
```typescript
|
|
65
|
+
export class [Language]Watcher {
|
|
66
|
+
async start() {
|
|
67
|
+
// Set up source file watcher
|
|
68
|
+
// Set up bundle file watcher
|
|
69
|
+
// Handle file change events
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
private async regenerateMetafile() {
|
|
73
|
+
// Regenerate metafile and output files
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### 3. Language-specific Types (`src/[language]/types.[ext]`)
|
|
79
|
+
Define interfaces for:
|
|
80
|
+
- Test adapters
|
|
81
|
+
- Resource configurations
|
|
82
|
+
- Base test components (Given, When, Then)
|
|
83
|
+
|
|
84
|
+
#### 4. Process Manager (`src/[language]/PM/[language].go`)
|
|
85
|
+
Implement process communication for:
|
|
86
|
+
- Starting/stopping tests
|
|
87
|
+
- IPC communication
|
|
88
|
+
- Resource management
|
|
89
|
+
|
|
90
|
+
### Key Implementation Details
|
|
91
|
+
|
|
92
|
+
#### Signature Handling
|
|
93
|
+
- Use timestamp-based or content-hash signatures
|
|
94
|
+
- Embed signatures in comments to avoid breaking code
|
|
95
|
+
- Ensure consistent output filenames for reliable watching
|
|
96
|
+
|
|
97
|
+
#### File Watching Strategy
|
|
98
|
+
- Use `chokidar` for Node.js-based watching
|
|
99
|
+
- Implement polling for reliability across filesystems
|
|
100
|
+
- Handle edge cases: file deletions, renames, permission changes
|
|
101
|
+
|
|
102
|
+
#### Metafile Structure
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"errors": [],
|
|
106
|
+
"warnings": [],
|
|
107
|
+
"metafile": {
|
|
108
|
+
"inputs": {
|
|
109
|
+
"path/to/file.ext": {
|
|
110
|
+
"bytes": 1024,
|
|
111
|
+
"imports": ["dependency1", "dependency2"]
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"outputs": {
|
|
115
|
+
"output/path/file.ext": {
|
|
116
|
+
"imports": [],
|
|
117
|
+
"exports": [],
|
|
118
|
+
"entryPoint": "original/file.ext",
|
|
119
|
+
"inputs": {
|
|
120
|
+
"original/file.ext": {
|
|
121
|
+
"bytesInOutput": 1024
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"bytes": 1024,
|
|
125
|
+
"signature": "unique_id"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Current Language Implementations
|
|
133
|
+
|
|
134
|
+
#### Go (Golingvu)
|
|
135
|
+
- **Entry points**: `.go` files with test functions
|
|
136
|
+
- **Output**: Wrapper files that run `go test`
|
|
137
|
+
- **Signature**: Timestamp in comments
|
|
138
|
+
|
|
139
|
+
#### Python (Pitono)
|
|
140
|
+
- **Entry points**: `.py` files with test cases
|
|
141
|
+
- **Output**: Python modules with test runners
|
|
142
|
+
- **Signature**: Content hash or timestamp
|
|
143
|
+
|
|
144
|
+
#### JavaScript/TypeScript
|
|
145
|
+
- **Entry points**: `.js`/`.ts` files
|
|
146
|
+
- **Output**: Bundled JavaScript with esbuild
|
|
147
|
+
- **Signature**: Integrated into build process
|
|
148
|
+
|
|
149
|
+
### Common Challenges and Solutions
|
|
150
|
+
|
|
151
|
+
1. **File Change Detection**
|
|
152
|
+
- Use polling with appropriate intervals
|
|
153
|
+
- Handle filesystem event limitations
|
|
154
|
+
- Implement manual fallback checks
|
|
155
|
+
|
|
156
|
+
2. **Dependency Resolution**
|
|
157
|
+
- Parse language-specific import syntax
|
|
158
|
+
- Handle relative vs absolute imports
|
|
159
|
+
- Account for language-specific module systems
|
|
160
|
+
|
|
161
|
+
3. **Cross-platform Compatibility**
|
|
162
|
+
- Normalize file paths
|
|
163
|
+
- Handle different line endings
|
|
164
|
+
- Account for filesystem case sensitivity
|
|
165
|
+
|
|
166
|
+
4. **Performance**
|
|
167
|
+
- Debounce file change events
|
|
168
|
+
- Cache parsing results where possible
|
|
169
|
+
- Use efficient data structures for dependency tracking
|
|
170
|
+
|
|
171
|
+
### Testing the Implementation
|
|
172
|
+
|
|
173
|
+
For each new language, verify:
|
|
174
|
+
1. Source file changes trigger metafile regeneration
|
|
175
|
+
2. Bundle file changes trigger test execution
|
|
176
|
+
3. Signatures are properly updated and detected
|
|
177
|
+
4. All file paths are handled consistently
|
|
178
|
+
5. Error cases are properly handled (missing files, parse errors)
|
|
179
|
+
|
|
180
|
+
### Future Considerations
|
|
181
|
+
|
|
182
|
+
- **Incremental builds**: Only rebuild changed portions
|
|
183
|
+
- **Dependency caching**: Store parsed dependencies to avoid re-parsing
|
|
184
|
+
- **Cross-language dependencies**: Handle cases where tests in one language depend on another
|
|
185
|
+
- **Remote execution**: Support running tests in containers or remote environments
|
|
186
|
+
|
|
187
|
+
This pattern allows Testeranto to maintain a consistent architecture while supporting multiple programming languages, each with their own unique characteristics and requirements.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
package golingvu
|
|
2
2
|
|
|
3
|
+
import "fmt"
|
|
4
|
+
|
|
3
5
|
// BaseGiven represents a base Given condition
|
|
4
6
|
type BaseGiven struct {
|
|
5
7
|
Name string
|
|
@@ -47,11 +49,21 @@ func (bg *BaseGiven) BeforeAll(store interface{}) interface{} {
|
|
|
47
49
|
|
|
48
50
|
// ToObj converts the instance to a map for serialization
|
|
49
51
|
func (bg *BaseGiven) ToObj() map[string]interface{} {
|
|
52
|
+
whenObjs := make([]map[string]interface{}, len(bg.Whens))
|
|
53
|
+
for i, w := range bg.Whens {
|
|
54
|
+
whenObjs[i] = w.ToObj()
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
thenObjs := make([]map[string]interface{}, len(bg.Thens))
|
|
58
|
+
for i, t := range bg.Thens {
|
|
59
|
+
thenObjs[i] = t.ToObj()
|
|
60
|
+
}
|
|
61
|
+
|
|
50
62
|
return map[string]interface{}{
|
|
51
63
|
"key": bg.Key,
|
|
52
64
|
"name": bg.Name,
|
|
53
|
-
"whens":
|
|
54
|
-
"thens":
|
|
65
|
+
"whens": whenObjs,
|
|
66
|
+
"thens": thenObjs,
|
|
55
67
|
"error": bg.Error,
|
|
56
68
|
"failed": bg.Failed,
|
|
57
69
|
"features": bg.Features,
|
|
@@ -74,3 +86,78 @@ func (bg *BaseGiven) AfterEach(store interface{}, key string, artifactory, pm in
|
|
|
74
86
|
func (bg *BaseGiven) UberCatcher(e error) {
|
|
75
87
|
bg.Error = e
|
|
76
88
|
}
|
|
89
|
+
|
|
90
|
+
// Give executes the given condition
|
|
91
|
+
func (bg *BaseGiven) Give(
|
|
92
|
+
subject interface{},
|
|
93
|
+
key string,
|
|
94
|
+
testResourceConfiguration ITTestResourceConfiguration,
|
|
95
|
+
tester func(interface{}) bool,
|
|
96
|
+
artifactory func(string, interface{}),
|
|
97
|
+
tLog func(...string),
|
|
98
|
+
pm interface{},
|
|
99
|
+
suiteNdx int,
|
|
100
|
+
) (interface{}, error) {
|
|
101
|
+
bg.Key = key
|
|
102
|
+
tLog("\n " + bg.Key)
|
|
103
|
+
tLog("\n Given: " + bg.Name)
|
|
104
|
+
|
|
105
|
+
// Setup
|
|
106
|
+
store, err := bg.GivenThat(
|
|
107
|
+
subject,
|
|
108
|
+
testResourceConfiguration,
|
|
109
|
+
artifactory,
|
|
110
|
+
bg.GivenCB,
|
|
111
|
+
bg.InitialValues,
|
|
112
|
+
pm,
|
|
113
|
+
)
|
|
114
|
+
if err != nil {
|
|
115
|
+
bg.Failed = true
|
|
116
|
+
bg.Error = err
|
|
117
|
+
return nil, err
|
|
118
|
+
}
|
|
119
|
+
bg.Store = store
|
|
120
|
+
|
|
121
|
+
// Process Whens
|
|
122
|
+
for whenNdx, when := range bg.Whens {
|
|
123
|
+
_, err := when.Test(
|
|
124
|
+
bg.Store,
|
|
125
|
+
testResourceConfiguration,
|
|
126
|
+
tLog,
|
|
127
|
+
pm,
|
|
128
|
+
fmt.Sprintf("suite-%d/given-%s/when/%d", suiteNdx, key, whenNdx),
|
|
129
|
+
)
|
|
130
|
+
if err != nil {
|
|
131
|
+
bg.Failed = true
|
|
132
|
+
bg.Error = err
|
|
133
|
+
return nil, err
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// Process Thens
|
|
138
|
+
for thenNdx, then := range bg.Thens {
|
|
139
|
+
result, err := then.Test(
|
|
140
|
+
bg.Store,
|
|
141
|
+
testResourceConfiguration,
|
|
142
|
+
tLog,
|
|
143
|
+
pm,
|
|
144
|
+
fmt.Sprintf("suite-%d/given-%s/then-%d", suiteNdx, key, thenNdx),
|
|
145
|
+
)
|
|
146
|
+
if err != nil {
|
|
147
|
+
bg.Failed = true
|
|
148
|
+
bg.Error = err
|
|
149
|
+
return nil, err
|
|
150
|
+
}
|
|
151
|
+
tester(result)
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Cleanup
|
|
155
|
+
_, err = bg.AfterEach(bg.Store, bg.Key, artifactory, pm)
|
|
156
|
+
if err != nil {
|
|
157
|
+
bg.Failed = true
|
|
158
|
+
bg.Error = err
|
|
159
|
+
return nil, err
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
return bg.Store, nil
|
|
163
|
+
}
|