testeranto 0.129.0 → 0.135.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/.aider.chat.history.md +137798 -0
- package/.aider.input.history +370 -0
- package/.aider.tags.cache.v3/{ec/c0/161c249c35be853cc40cf11f9267.val → 62/f5/8af72140d93c58db2f6aa5bf3f1f.val} +0 -0
- package/.aider.tags.cache.v3/8e/ec/2d4659a1589a0187a757ab1cbefa.val +0 -0
- package/.aider.tags.cache.v3/{b7/e6/5be87b62aeaf2bc244ff41c1b61a.val → a7/97/6d37fce350ad2d588f36729db0cd.val} +0 -0
- package/.aider.tags.cache.v3/{e3/e6/3501625caf5d5eb171f0d248462e.val → ad/3c/10f2ab1397f6d544e613d2a6acaf.val} +0 -0
- package/.aider.tags.cache.v3/cache.db +0 -0
- package/.aider.tags.cache.v3/d8/b0/a8966fcd65890fd9f70d7afe8141.val +0 -0
- package/.aider.tags.cache.v3/dd/5b/0ade824b0841c7c11e9352c5d2ca.val +0 -0
- package/README.md +194 -182
- package/bundle.js +8 -75
- package/dist/common/src/Init.js +6 -1
- package/dist/common/src/Node.js +6 -4
- package/dist/common/src/NodeSidecar.js +15 -0
- package/dist/common/src/PM/PM_WithEslintAndTsc.js +189 -0
- package/dist/common/src/PM/__tests__/nodeSidecar.testeranto.js +109 -0
- package/dist/common/src/PM/__tests__/pureSidecar.testeranto.js +94 -0
- package/dist/common/src/PM/__tests__/webSidecar.testeranto.js +94 -0
- package/dist/common/src/PM/base.js +33 -16
- package/dist/common/src/PM/main.js +492 -428
- package/dist/common/src/PM/node.js +54 -22
- package/dist/common/src/PM/nodeSidecar.js +65 -0
- package/dist/common/src/PM/pure.js +55 -47
- package/dist/common/src/PM/pureSidecar.js +48 -0
- package/dist/common/src/PM/sidecar.js +11 -0
- package/dist/common/src/PM/web.js +24 -6
- package/dist/common/src/PM/webSidecar.js +47 -0
- package/dist/common/src/PureSidecar.js +13 -0
- package/dist/common/src/SP__Polygon.test.js +10 -0
- package/dist/common/src/WebSidecar.js +14 -0
- package/dist/common/src/build.js +66 -12
- package/dist/common/src/defaultConfig.js +1 -0
- package/dist/common/src/esbuildConfigs/consoleDetectorPlugin.js +27 -0
- package/dist/common/src/esbuildConfigs/eslint-formatter-testeranto.js +16 -1
- package/dist/common/src/esbuildConfigs/node.js +2 -16
- package/dist/common/src/esbuildConfigs/pure.js +12 -12
- package/dist/common/src/esbuildConfigs/rebuildPlugin.js +22 -0
- package/dist/common/src/esbuildConfigs/web.js +12 -17
- package/dist/common/src/lib/Sidecar.js +6 -0
- package/dist/common/src/lib/abstractBase.js +13 -6
- package/dist/common/src/lib/basebuilder.js +1 -3
- package/dist/common/src/lib/classBuilder.js +6 -20
- package/dist/common/src/lib/core.js +11 -6
- package/dist/common/src/lib/index.js +13 -4
- package/dist/common/src/lib/pmProxy.js +1 -1
- package/dist/common/src/mothership/index.js +16 -0
- package/dist/common/src/mothership/test.js +65 -0
- package/dist/common/src/utils/queue.js +36 -0
- package/dist/common/src/utils.js +34 -5
- package/dist/common/testeranto.config.js +77 -39
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/Init.js +6 -1
- package/dist/module/src/Node.js +6 -4
- package/dist/module/src/NodeSidecar.js +11 -0
- package/dist/module/src/PM/PM_WithEslintAndTsc.js +182 -0
- package/dist/module/src/PM/__tests__/nodeSidecar.testeranto.js +104 -0
- package/dist/module/src/PM/__tests__/pureSidecar.testeranto.js +89 -0
- package/dist/module/src/PM/__tests__/webSidecar.testeranto.js +89 -0
- package/dist/module/src/PM/base.js +33 -16
- package/dist/module/src/PM/main.js +493 -429
- package/dist/module/src/PM/node.js +54 -22
- package/dist/module/src/PM/nodeSidecar.js +58 -0
- package/dist/module/src/PM/pure.js +55 -44
- package/dist/module/src/PM/pureSidecar.js +41 -0
- package/dist/module/src/PM/sidecar.js +7 -0
- package/dist/module/src/PM/web.js +24 -6
- package/dist/module/src/PM/webSidecar.js +40 -0
- package/dist/module/src/Project.js +154 -75
- package/dist/module/src/PureSidecar.js +9 -0
- package/dist/module/src/ReportClient.js +132 -97
- package/dist/module/src/SP__Polygon.test.js +8 -0
- package/dist/module/src/TestReport.js +32 -14
- package/dist/module/src/WebSidecar.js +10 -0
- package/dist/module/src/build.js +66 -12
- package/dist/module/src/defaultConfig.js +1 -0
- package/dist/module/src/esbuildConfigs/consoleDetectorPlugin.js +24 -0
- package/dist/module/src/esbuildConfigs/eslint-formatter-testeranto.js +16 -1
- package/dist/module/src/esbuildConfigs/node.js +2 -16
- package/dist/module/src/esbuildConfigs/pure.js +12 -12
- package/dist/module/src/esbuildConfigs/rebuildPlugin.js +17 -0
- package/dist/module/src/esbuildConfigs/web.js +12 -17
- package/dist/module/src/lib/Sidecar.js +2 -0
- package/dist/module/src/lib/abstractBase.js +13 -6
- package/dist/module/src/lib/basebuilder.js +1 -3
- package/dist/module/src/lib/classBuilder.js +6 -20
- package/dist/module/src/lib/core.js +11 -6
- package/dist/module/src/lib/index.js +12 -4
- package/dist/module/src/lib/pmProxy.js +1 -1
- package/dist/module/src/mothership/index.js +11 -0
- package/dist/module/src/mothership/test.js +60 -0
- package/dist/module/src/utils/queue.js +32 -0
- package/dist/module/src/utils.js +34 -5
- package/dist/module/testeranto.config.js +77 -36
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/Project.js +3287 -385
- package/dist/prebuild/ReportClient.js +0 -24638
- package/dist/prebuild/TestReport.js +26 -22
- package/dist/prebuild/build.mjs +192 -70
- package/dist/prebuild/esbuildConfigs/eslint-formatter-testeranto.mjs +14 -1
- package/dist/prebuild/init-docs.mjs +2 -5
- package/dist/prebuild/mothership/index.mjs +17 -0
- package/dist/prebuild/run.mjs +733 -433
- package/dist/types/src/CoreTypes.d.ts +51 -0
- package/dist/types/src/Node.d.ts +2 -2
- package/dist/types/src/NodeSidecar.d.ts +6 -0
- package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +23 -0
- package/dist/types/src/PM/__tests__/nodeSidecar.testeranto.d.ts +2 -0
- package/dist/types/src/PM/__tests__/pureSidecar.testeranto.d.ts +2 -0
- package/dist/types/src/PM/__tests__/webSidecar.testeranto.d.ts +2 -0
- package/dist/types/src/PM/base.d.ts +6 -5
- package/dist/types/src/PM/index.d.ts +6 -4
- package/dist/types/src/PM/main.d.ts +23 -26
- package/dist/types/src/PM/node.d.ts +8 -6
- package/dist/types/src/PM/nodeSidecar.d.ts +13 -0
- package/dist/types/src/PM/pure.d.ts +4 -3
- package/dist/types/src/PM/pureSidecar.d.ts +11 -0
- package/dist/types/src/PM/sidecar.d.ts +8 -0
- package/dist/types/src/PM/web.d.ts +18 -8
- package/dist/types/src/PM/webSidecar.d.ts +11 -0
- package/dist/types/src/PureSidecar.d.ts +8 -0
- package/dist/types/src/SP__Polygon.test.d.ts +1 -0
- package/dist/types/src/Types.d.ts +80 -58
- package/dist/types/src/Web.d.ts +1 -1
- package/dist/types/src/WebSidecar.d.ts +8 -0
- package/dist/types/src/esbuildConfigs/consoleDetectorPlugin.d.ts +2 -0
- package/dist/types/src/esbuildConfigs/rebuildPlugin.d.ts +6 -0
- package/dist/types/src/lib/Sidecar.d.ts +5 -0
- package/dist/types/src/lib/abstractBase.d.ts +6 -12
- package/dist/types/src/lib/classBuilder.d.ts +7 -1
- package/dist/types/src/lib/core.d.ts +8 -2
- package/dist/types/src/lib/index.d.ts +10 -4
- package/dist/types/src/lib/types.d.ts +12 -2
- package/dist/types/src/mothership/index.d.ts +2 -0
- package/dist/types/src/mothership/test.d.ts +2 -0
- package/dist/types/src/utils/queue.d.ts +11 -0
- package/dist/types/src/utils.d.ts +4 -7
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/docs/index.md +277 -0
- package/package.json +23 -104
- package/src/CoreTypes.ts +171 -0
- package/src/Init.ts +6 -5
- package/src/Node.ts +32 -15
- package/src/NodeSidecar.ts +22 -0
- package/src/PM/PM_WithEslintAndTsc.ts +315 -0
- package/src/PM/__tests__/nodeSidecar.testeranto.ts +173 -0
- package/src/PM/__tests__/pureSidecar.testeranto.ts +157 -0
- package/src/PM/__tests__/webSidecar.testeranto.ts +157 -0
- package/src/PM/base.ts +38 -17
- package/src/PM/index.ts +10 -4
- package/src/PM/main.ts +616 -589
- package/src/PM/node.ts +77 -33
- package/src/PM/nodeSidecar.ts +73 -0
- package/src/PM/pure.ts +68 -58
- package/src/PM/pureSidecar.ts +56 -0
- package/src/PM/sidecar.ts +48 -0
- package/src/PM/web.ts +42 -11
- package/src/PM/webSidecar.ts +55 -0
- package/src/Project.tsx +312 -109
- package/src/Pure.ts +0 -2
- package/src/PureSidecar.ts +14 -0
- package/src/ReportClient.tsx +164 -170
- package/src/SP__Polygon.test.ts +13 -0
- package/src/TestReport.tsx +77 -6
- package/src/Types.ts +278 -157
- package/src/Web.ts +0 -3
- package/src/WebSidecar.ts +14 -0
- package/src/build.ts +104 -16
- package/src/defaultConfig.ts +1 -0
- package/src/esbuildConfigs/README.md +46 -0
- package/src/esbuildConfigs/consoleDetectorPlugin.ts +29 -0
- package/src/esbuildConfigs/eslint-formatter-testeranto.ts +17 -1
- package/src/esbuildConfigs/node.ts +2 -18
- package/src/esbuildConfigs/pure.ts +19 -14
- package/src/esbuildConfigs/rebuildPlugin.ts +23 -0
- package/src/esbuildConfigs/web.ts +15 -18
- package/src/lib/Sidecar.ts +6 -0
- package/src/lib/TEST_ADAPTER_RENAME.md +48 -0
- package/src/lib/abstractBase.ts +18 -10
- package/src/lib/basebuilder.ts +5 -4
- package/src/lib/classBuilder.ts +19 -21
- package/src/lib/core.ts +28 -19
- package/src/lib/index.ts +38 -18
- package/src/lib/pmProxy.ts +3 -1
- package/src/lib/types.ts +15 -2
- package/src/mothership/index.ts +15 -0
- package/src/mothership/test.ts +137 -0
- package/src/run.ts +0 -1
- package/src/utils/queue.ts +41 -0
- package/src/utils.ts +41 -15
- package/testeranto/bundles/node/mothership/chunk-PG6KUKNP.mjs +44 -0
- package/testeranto/bundles/node/mothership/chunk-V2EQEXU2.mjs +1032 -0
- package/testeranto/bundles/node/mothership/metafile.json +389 -0
- package/testeranto/bundles/node/mothership/src/PM/__tests__/nodeSidecar.testeranto.mjs +1219 -0
- package/testeranto/bundles/node/mothership/src/PM/__tests__/pureSidecar.testeranto.mjs +156 -0
- package/testeranto/bundles/node/mothership/src/PM/__tests__/sidecar.testeranto.mjs +1199 -0
- package/testeranto/bundles/node/mothership/src/PM/__tests__/webSidecar.testeranto.mjs +156 -0
- package/testeranto/bundles/node/mothership/src/mothership/test.mjs +24411 -0
- package/testeranto/bundles/pure/mothership/metafile.json +8 -0
- package/testeranto/bundles/web/mothership/metafile.json +8 -0
- package/testeranto/index.html +4 -4
- package/testeranto/reports/mothership/config.json +25 -0
- package/testeranto/reports/{redux → mothership}/index.html +8 -8
- package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/console_log.txt +0 -0
- package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/index.html +20 -0
- package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/lint_errors.json +1564 -0
- package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/log.txt +0 -0
- package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/prompt.txt +22 -0
- package/testeranto/reports/mothership/src/PM/__tests__/nodeSidecar.testeranto/node/type_errors.txt +35 -0
- package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/index.html +20 -0
- package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/lint_errors.json +80 -0
- package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/prompt.txt +12 -0
- package/testeranto/reports/mothership/src/PM/__tests__/pureSidecar.testeranto/node/type_errors.txt +26 -0
- package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/bdd_errors.txt +1 -0
- package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/console_log.txt +0 -0
- package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/index.html +20 -0
- package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/lint_errors.json +1564 -0
- package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/log.txt +0 -0
- package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/prompt.txt +22 -0
- package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/tests.json +56 -0
- package/testeranto/reports/mothership/src/PM/__tests__/sidecar.testeranto/node/type_errors.txt +29 -0
- package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/index.html +20 -0
- package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/lint_errors.json +80 -0
- package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/prompt.txt +12 -0
- package/testeranto/reports/mothership/src/PM/__tests__/webSidecar.testeranto/node/type_errors.txt +26 -0
- package/testeranto/reports/mothership/src/mothership/test/node/bdd_errors.txt +1 -0
- package/testeranto/reports/mothership/src/mothership/test/node/console_log.txt +4 -0
- package/testeranto/reports/mothership/src/mothership/test/node/index.html +20 -0
- package/testeranto/reports/mothership/src/mothership/test/node/lint_errors.json +1 -0
- package/testeranto/reports/mothership/src/mothership/test/node/log.txt +0 -0
- package/testeranto/reports/mothership/src/mothership/test/node/prompt.txt +12 -0
- package/testeranto/reports/mothership/src/mothership/test/node/tests.json +24 -0
- package/testeranto/reports/mothership/src/mothership/test/node/type_errors.txt +18 -0
- package/testeranto/reports/mothership/summary.json +9 -0
- package/testeranto.config.ts +82 -44
- package/tsc.log +78 -81
- package/dist/common/src/SubPackages/react/component/index.js +0 -20
- package/dist/common/src/SubPackages/react/component/node.js +0 -10
- package/dist/common/src/SubPackages/react/component/pure.js +0 -10
- package/dist/common/src/SubPackages/react/component/web.js +0 -10
- package/dist/common/src/SubPackages/react/jsx/index.js +0 -64
- package/dist/common/src/SubPackages/react/jsx/node.js +0 -10
- package/dist/common/src/SubPackages/react/jsx/pure.js +0 -10
- package/dist/common/src/SubPackages/react/jsx/web.js +0 -10
- package/dist/common/src/SubPackages/react-dom/component/dynamic.js +0 -61
- package/dist/common/src/SubPackages/react-dom/component/node.js +0 -10
- package/dist/common/src/SubPackages/react-dom/component/pure.js +0 -10
- package/dist/common/src/SubPackages/react-dom/component/static.js +0 -26
- package/dist/common/src/SubPackages/react-dom/component/web.js +0 -16
- package/dist/common/src/SubPackages/react-dom/jsx/dynamic.js +0 -31
- package/dist/common/src/SubPackages/react-dom/jsx/node.js +0 -10
- package/dist/common/src/SubPackages/react-dom/jsx/pure.js +0 -10
- package/dist/common/src/SubPackages/react-dom/jsx/static.js +0 -59
- package/dist/common/src/SubPackages/react-dom/jsx/web.js +0 -16
- package/dist/common/src/SubPackages/react-test-renderer/MemoExoticComponent/node.js +0 -54
- package/dist/common/src/SubPackages/react-test-renderer/component/index.js +0 -15
- package/dist/common/src/SubPackages/react-test-renderer/component/interface.js +0 -70
- package/dist/common/src/SubPackages/react-test-renderer/component/node.js +0 -8
- package/dist/common/src/SubPackages/react-test-renderer/component/pure.js +0 -8
- package/dist/common/src/SubPackages/react-test-renderer/component/test/implementation.js +0 -57
- package/dist/common/src/SubPackages/react-test-renderer/component/test/node.js +0 -10
- package/dist/common/src/SubPackages/react-test-renderer/component/test/pure.js +0 -10
- package/dist/common/src/SubPackages/react-test-renderer/component/test/web.js +0 -10
- package/dist/common/src/SubPackages/react-test-renderer/component/web.js +0 -8
- package/dist/common/src/SubPackages/react-test-renderer/fc/node.js +0 -60
- package/dist/common/src/SubPackages/react-test-renderer/fc/web.js +0 -60
- package/dist/common/src/SubPackages/react-test-renderer/jsx/index.js +0 -67
- package/dist/common/src/SubPackages/react-test-renderer/jsx/node.js +0 -10
- package/dist/common/src/SubPackages/react-test-renderer/jsx/pure.js +0 -10
- package/dist/common/src/SubPackages/react-test-renderer/jsx/web.js +0 -10
- package/dist/common/src/SubPackages/react-test-renderer/jsx-promised/index.js +0 -52
- package/dist/common/src/SubPackages/react-test-renderer/jsx-promised/node.js +0 -10
- package/dist/common/src/SubPackages/react-test-renderer/jsx-promised/web.js +0 -10
- package/dist/common/src/examples/react/component/index.js +0 -33
- package/dist/common/src/examples/react/component/test.js +0 -36
- package/dist/module/src/SubPackages/react/component/index.js +0 -13
- package/dist/module/src/SubPackages/react/component/node.js +0 -5
- package/dist/module/src/SubPackages/react/component/pure.js +0 -5
- package/dist/module/src/SubPackages/react/component/web.js +0 -5
- package/dist/module/src/SubPackages/react/jsx/index.js +0 -58
- package/dist/module/src/SubPackages/react/jsx/node.js +0 -5
- package/dist/module/src/SubPackages/react/jsx/pure.js +0 -5
- package/dist/module/src/SubPackages/react/jsx/web.js +0 -5
- package/dist/module/src/SubPackages/react-dom/component/dynamic.js +0 -54
- package/dist/module/src/SubPackages/react-dom/component/node.js +0 -5
- package/dist/module/src/SubPackages/react-dom/component/pure.js +0 -5
- package/dist/module/src/SubPackages/react-dom/component/static.js +0 -22
- package/dist/module/src/SubPackages/react-dom/component/web.js +0 -11
- package/dist/module/src/SubPackages/react-dom/jsx/dynamic.js +0 -27
- package/dist/module/src/SubPackages/react-dom/jsx/node.js +0 -5
- package/dist/module/src/SubPackages/react-dom/jsx/pure.js +0 -5
- package/dist/module/src/SubPackages/react-dom/jsx/static.js +0 -53
- package/dist/module/src/SubPackages/react-dom/jsx/web.js +0 -11
- package/dist/module/src/SubPackages/react-test-renderer/MemoExoticComponent/node.js +0 -16
- package/dist/module/src/SubPackages/react-test-renderer/component/index.js +0 -14
- package/dist/module/src/SubPackages/react-test-renderer/component/interface.js +0 -31
- package/dist/module/src/SubPackages/react-test-renderer/component/node.js +0 -3
- package/dist/module/src/SubPackages/react-test-renderer/component/pure.js +0 -3
- package/dist/module/src/SubPackages/react-test-renderer/component/test/implementation.js +0 -54
- package/dist/module/src/SubPackages/react-test-renderer/component/test/node.js +0 -5
- package/dist/module/src/SubPackages/react-test-renderer/component/test/pure.js +0 -5
- package/dist/module/src/SubPackages/react-test-renderer/component/test/web.js +0 -5
- package/dist/module/src/SubPackages/react-test-renderer/component/web.js +0 -3
- package/dist/module/src/SubPackages/react-test-renderer/fc/node.js +0 -22
- package/dist/module/src/SubPackages/react-test-renderer/fc/web.js +0 -22
- package/dist/module/src/SubPackages/react-test-renderer/jsx/index.js +0 -28
- package/dist/module/src/SubPackages/react-test-renderer/jsx/node.js +0 -5
- package/dist/module/src/SubPackages/react-test-renderer/jsx/pure.js +0 -5
- package/dist/module/src/SubPackages/react-test-renderer/jsx/web.js +0 -5
- package/dist/module/src/SubPackages/react-test-renderer/jsx-promised/index.js +0 -16
- package/dist/module/src/SubPackages/react-test-renderer/jsx-promised/node.js +0 -5
- package/dist/module/src/SubPackages/react-test-renderer/jsx-promised/web.js +0 -5
- package/dist/module/src/examples/react/component/index.js +0 -26
- package/dist/module/src/examples/react/component/test.js +0 -32
- package/dist/prebuild/ReportClient.css +0 -11342
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types/src/SubPackages/react/component/index.d.ts +0 -4
- package/dist/types/src/SubPackages/react/component/node.d.ts +0 -4
- package/dist/types/src/SubPackages/react/component/pure.d.ts +0 -4
- package/dist/types/src/SubPackages/react/component/web.d.ts +0 -4
- package/dist/types/src/SubPackages/react/jsx/index.d.ts +0 -5
- package/dist/types/src/SubPackages/react/jsx/node.d.ts +0 -4
- package/dist/types/src/SubPackages/react/jsx/pure.d.ts +0 -4
- package/dist/types/src/SubPackages/react/jsx/web.d.ts +0 -4
- package/dist/types/src/SubPackages/react-dom/component/dynamic.d.ts +0 -20
- package/dist/types/src/SubPackages/react-dom/component/node.d.ts +0 -4
- package/dist/types/src/SubPackages/react-dom/component/pure.d.ts +0 -4
- package/dist/types/src/SubPackages/react-dom/component/static.d.ts +0 -9
- package/dist/types/src/SubPackages/react-dom/component/web.d.ts +0 -4
- package/dist/types/src/SubPackages/react-dom/jsx/dynamic.d.ts +0 -5
- package/dist/types/src/SubPackages/react-dom/jsx/index.d.ts +0 -6
- package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +0 -4
- package/dist/types/src/SubPackages/react-dom/jsx/pure.d.ts +0 -4
- package/dist/types/src/SubPackages/react-dom/jsx/static.d.ts +0 -5
- package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +0 -5
- package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +0 -6
- package/dist/types/src/SubPackages/react-test-renderer/component/index.d.ts +0 -5
- package/dist/types/src/SubPackages/react-test-renderer/component/interface.d.ts +0 -3
- package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +0 -4
- package/dist/types/src/SubPackages/react-test-renderer/component/pure.d.ts +0 -4
- package/dist/types/src/SubPackages/react-test-renderer/component/test/implementation.d.ts +0 -4
- package/dist/types/src/SubPackages/react-test-renderer/component/test/node.d.ts +0 -3
- package/dist/types/src/SubPackages/react-test-renderer/component/test/pure.d.ts +0 -4
- package/dist/types/src/SubPackages/react-test-renderer/component/test/web.d.ts +0 -3
- package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +0 -4
- package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +0 -8
- package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +0 -9
- package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +0 -11
- package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +0 -4
- package/dist/types/src/SubPackages/react-test-renderer/jsx/pure.d.ts +0 -4
- package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +0 -4
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/index.d.ts +0 -15
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +0 -5
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +0 -5
- package/dist/types/src/examples/react/component/index.d.ts +0 -13
- package/dist/types/src/examples/react/component/test.d.ts +0 -17
- package/src/SubPackages/react/component/index.ts +0 -28
- package/src/SubPackages/react/component/node.ts +0 -17
- package/src/SubPackages/react/component/pure.ts +0 -17
- package/src/SubPackages/react/component/web.ts +0 -17
- package/src/SubPackages/react/jsx/index.ts +0 -75
- package/src/SubPackages/react/jsx/node.ts +0 -23
- package/src/SubPackages/react/jsx/pure.ts +0 -23
- package/src/SubPackages/react/jsx/web.ts +0 -24
- package/src/SubPackages/react-dom/component/dynamic.ts +0 -107
- package/src/SubPackages/react-dom/component/node.ts +0 -17
- package/src/SubPackages/react-dom/component/pure.ts +0 -17
- package/src/SubPackages/react-dom/component/static.ts +0 -41
- package/src/SubPackages/react-dom/component/web.ts +0 -32
- package/src/SubPackages/react-dom/jsx/dynamic.ts +0 -46
- package/src/SubPackages/react-dom/jsx/index.ts +0 -6
- package/src/SubPackages/react-dom/jsx/node.ts +0 -18
- package/src/SubPackages/react-dom/jsx/pure.ts +0 -18
- package/src/SubPackages/react-dom/jsx/static.ts +0 -87
- package/src/SubPackages/react-dom/jsx/web.ts +0 -26
- package/src/SubPackages/react-test-renderer/MemoExoticComponent/node.ts +0 -54
- package/src/SubPackages/react-test-renderer/component/index.ts +0 -32
- package/src/SubPackages/react-test-renderer/component/interface.ts +0 -43
- package/src/SubPackages/react-test-renderer/component/node.ts +0 -18
- package/src/SubPackages/react-test-renderer/component/pure.ts +0 -18
- package/src/SubPackages/react-test-renderer/component/test/implementation.ts +0 -63
- package/src/SubPackages/react-test-renderer/component/test/node.ts +0 -14
- package/src/SubPackages/react-test-renderer/component/test/pure.ts +0 -14
- package/src/SubPackages/react-test-renderer/component/test/web.ts +0 -14
- package/src/SubPackages/react-test-renderer/component/web.ts +0 -18
- package/src/SubPackages/react-test-renderer/fc/node.ts +0 -83
- package/src/SubPackages/react-test-renderer/fc/web.ts +0 -80
- package/src/SubPackages/react-test-renderer/jsx/index.ts +0 -61
- package/src/SubPackages/react-test-renderer/jsx/node.ts +0 -31
- package/src/SubPackages/react-test-renderer/jsx/pure.ts +0 -31
- package/src/SubPackages/react-test-renderer/jsx/web.ts +0 -32
- package/src/SubPackages/react-test-renderer/jsx-promised/index.ts +0 -73
- package/src/SubPackages/react-test-renderer/jsx-promised/node.ts +0 -36
- package/src/SubPackages/react-test-renderer/jsx-promised/web.ts +0 -36
- package/src/examples/react/component/index.tsx +0 -35
- package/src/examples/react/component/test.ts +0 -83
- package/testeranto/bundles/node/redux/metafile.json +0 -559
- package/testeranto/bundles/pure/redux/metafile.json +0 -554
- package/testeranto/bundles/web/redux/metafile.json +0 -504
- package/testeranto/bundles/web/redux/test/web.html +0 -19
- package/testeranto/reports/redux/config.json +0 -38
- package/testeranto/reports/redux/summary.json +0 -20
- /package/dist/common/src/{SubPackages/react-dom/jsx/index.js → CoreTypes.js} +0 -0
- /package/dist/module/src/{SubPackages/react-dom/jsx/index.js → CoreTypes.js} +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# testeranto
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## The AI-powered BDD test framework for TypeScript projects
|
|
4
4
|
|
|
5
5
|
🚧 WARNING: Testeranto is still under development and is not ready for production yet. 🚧
|
|
6
6
|
|
|
@@ -12,11 +12,7 @@ npm: [npmjs.com/package/testeranto](https://www.npmjs.com/package/testeranto)
|
|
|
12
12
|
|
|
13
13
|
dev: [github.dev/adamwong246/testeranto](https://github.dev/adamwong246/testeranto)
|
|
14
14
|
|
|
15
|
-
example
|
|
16
|
-
|
|
17
|
-
example repo: [kokomo bay](https://github.com/ChromaPDX/kokomoBay)
|
|
18
|
-
|
|
19
|
-
example repo V2: [testeranto-starter](https://github.com/adamwong246/testeranto-starter)
|
|
15
|
+
example repo: [testeranto-starter](https://github.com/adamwong246/testeranto-starter)
|
|
20
16
|
|
|
21
17
|
## What is testeranto?
|
|
22
18
|
|
|
@@ -27,232 +23,248 @@ example repo V2: [testeranto-starter](https://github.com/adamwong246/testeranto-
|
|
|
27
23
|
- Testeranto connects "features" to "tests". This allows the AI to read feature documentation from external systems, like Jira.
|
|
28
24
|
- Testeranto generates test results into static a website which can be deployed to github pages easily.
|
|
29
25
|
|
|
30
|
-
##
|
|
26
|
+
## Key Technologies
|
|
31
27
|
|
|
32
|
-
|
|
33
|
-
- typescript - tests are functions with type parameters
|
|
34
|
-
- puppeteer - provides access to both node and chrome runtimes
|
|
35
|
-
- esbuild - used to quickly generate test bundles
|
|
36
|
-
- aider - AI to automatically fix broken tests
|
|
37
|
-
- eslint - runs upon the input files to generate a file of static analysis errors
|
|
38
|
-
- tsc - runs upon the input files to generate a file of type errors
|
|
39
|
-
- markdown - Markdown is used record feature files
|
|
28
|
+
Testeranto builds on modern JavaScript/TypeScript tooling:
|
|
40
29
|
|
|
41
|
-
|
|
30
|
+
| Technology | Purpose |
|
|
31
|
+
| ---------- | -------------------------------------- |
|
|
32
|
+
| TypeScript | Strongly-typed test definitions |
|
|
33
|
+
| Puppeteer | Cross-runtime testing (Node & Browser) |
|
|
34
|
+
| esbuild | Fast test bundling |
|
|
35
|
+
| Aider.ai | AI-powered test fixing |
|
|
36
|
+
| ESLint | Static analysis of test files |
|
|
37
|
+
| tsc | Type checking of test files |
|
|
38
|
+
| Markdown | Feature documentation format |
|
|
42
39
|
|
|
43
|
-
|
|
40
|
+
## Quick Start
|
|
44
41
|
|
|
45
|
-
|
|
42
|
+
1. Install testeranto:
|
|
46
43
|
|
|
47
|
-
|
|
44
|
+
```bash
|
|
45
|
+
npm install testeranto
|
|
46
|
+
```
|
|
48
47
|
|
|
49
|
-
|
|
48
|
+
2. Create a test file (e.g., `rectangle.test.ts`):
|
|
50
49
|
|
|
51
|
-
|
|
50
|
+
```typescript
|
|
51
|
+
import { Given, When, Then } from "testeranto";
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
Testeranto generates a "prompt" alongside test results. This prompt is passed to aider as input.
|
|
53
|
+
type Rectangle = { width: number; height: number };
|
|
56
54
|
|
|
55
|
+
const RectangleSpec = (Suite, Given, When, Then) => [
|
|
56
|
+
Suite.Default("Rectangle tests", {
|
|
57
|
+
test1: Given.Default(
|
|
58
|
+
["Basic rectangle operations"],
|
|
59
|
+
[When.setWidth(5), When.setHeight(10)],
|
|
60
|
+
[Then.getWidth(5), Then.getHeight(10)]
|
|
61
|
+
),
|
|
62
|
+
}),
|
|
63
|
+
];
|
|
57
64
|
```
|
|
58
|
-
// input src files which can be edited by aider
|
|
59
|
-
/add test/node.ts
|
|
60
65
|
|
|
61
|
-
|
|
62
|
-
/read testeranto/reports/allTests/node/test/node/tests.json
|
|
63
|
-
/read testeranto/reports/allTests/test/node/node/lint_errors.json
|
|
64
|
-
/read testeranto/reports/allTests/test/node/node/type_errors.txt
|
|
66
|
+
3. Run your tests in two separate terminals:
|
|
65
67
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
```bash
|
|
69
|
+
# Terminal 1 - Build in watch mode
|
|
70
|
+
yarn t-build rectangle.test.ts dev
|
|
68
71
|
|
|
69
|
-
|
|
70
|
-
|
|
72
|
+
# Terminal 2 - Run in watch mode
|
|
73
|
+
yarn t-run rectangle.test.ts dev
|
|
71
74
|
```
|
|
72
75
|
|
|
73
|
-
|
|
76
|
+
### Development Workflow
|
|
74
77
|
|
|
75
|
-
|
|
78
|
+
```mermaid
|
|
76
79
|
|
|
77
|
-
|
|
80
|
+
flowchart LR
|
|
78
81
|
|
|
79
|
-
|
|
82
|
+
subgraph hh["humans"]
|
|
83
|
+
direction LR
|
|
84
|
+
Human[🧑💻 ]
|
|
85
|
+
end
|
|
80
86
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
87
|
+
subgraph bb["AI"]
|
|
88
|
+
direction LR
|
|
89
|
+
Bot[🤖🧠 aider]
|
|
90
|
+
end
|
|
84
91
|
|
|
85
|
-
## Concepts
|
|
86
92
|
|
|
87
|
-
|
|
93
|
+
tests ---> L
|
|
94
|
+
subgraph tests
|
|
95
|
+
direction LR
|
|
96
|
+
A[Test Specification]
|
|
97
|
+
B[Test Interface]
|
|
98
|
+
C[Test Implementation]
|
|
99
|
+
K[application code]
|
|
100
|
+
end
|
|
88
101
|
|
|
89
|
-
|
|
90
|
-
|
|
102
|
+
subgraph buildSystem
|
|
103
|
+
direction TB
|
|
104
|
+
L["t-build"]
|
|
105
|
+
M[t-run]
|
|
106
|
+
L ---> M
|
|
91
107
|
|
|
92
|
-
|
|
93
|
-
|
|
108
|
+
M ---> N
|
|
109
|
+
M --->O
|
|
110
|
+
M --->P
|
|
111
|
+
N["BDD tests"]
|
|
112
|
+
O["Static analysis"]
|
|
113
|
+
P["Type checking"]
|
|
94
114
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
115
|
+
Q["reports"]
|
|
116
|
+
N ---> Q
|
|
117
|
+
O ---> Q
|
|
118
|
+
P ---> Q
|
|
119
|
+
end
|
|
100
120
|
|
|
101
|
-
|
|
102
|
-
return new NodeTesteranto<I, O, M>(
|
|
103
|
-
input,
|
|
104
|
-
testSpecification,
|
|
105
|
-
testImplementation,
|
|
106
|
-
testResourceRequirement,
|
|
107
|
-
testInterface
|
|
108
|
-
);
|
|
109
|
-
};
|
|
121
|
+
Q ---> bb
|
|
110
122
|
|
|
111
|
-
|
|
123
|
+
buildSystem ---> bb
|
|
124
|
+
bb ---> tests
|
|
125
|
+
hh ---> tests
|
|
112
126
|
|
|
113
|
-
|
|
127
|
+
%% Styling
|
|
128
|
+
style Human fill:#268bd2,stroke:#586e75,color:#fdf6e3
|
|
129
|
+
style Bot fill:#d33682,stroke:#586e75,color:#fdf6e3
|
|
114
130
|
|
|
115
|
-
|
|
131
|
+
%% Layout tweaks
|
|
132
|
+
classDef column margin-right:20px
|
|
116
133
|
|
|
117
|
-
|
|
134
|
+
```
|
|
118
135
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
136
|
+
## Architecture Overview
|
|
137
|
+
|
|
138
|
+
```mermaid
|
|
139
|
+
flowchart TD
|
|
140
|
+
subgraph ThreePillars["Testeranto Core"]
|
|
141
|
+
Builder[Test Builder]
|
|
142
|
+
Runner[Test Runner]
|
|
143
|
+
Aider[AI Integration]
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
subgraph BuilderComponents[" "]
|
|
147
|
+
Specification[Specification]
|
|
148
|
+
Implementation[Implementation]
|
|
149
|
+
Interface[Interface]
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
subgraph Runtimes[" "]
|
|
153
|
+
Node[Node]
|
|
154
|
+
Web[Browser]
|
|
155
|
+
Pure[JS]
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
Builder --> Runner
|
|
159
|
+
Runner --> Aider
|
|
160
|
+
Aider --> Builder
|
|
161
|
+
|
|
162
|
+
Builder --> BuilderComponents
|
|
163
|
+
Runner --> Runtimes
|
|
164
|
+
|
|
165
|
+
style ThreePillars fill:none,stroke:#586e75
|
|
166
|
+
style Builder fill:#268bd2,stroke:#586e75,color:#fdf6e3
|
|
167
|
+
style Runner fill:#268bd2,stroke:#586e75,color:#fdf6e3
|
|
168
|
+
style Aider fill:#b58900,stroke:#586e75,color:#002b36
|
|
169
|
+
style BuilderComponents fill:#002b36,stroke:#586e75,color:#eee8d5
|
|
170
|
+
style Runtimes fill:#073642,stroke:#586e75,color:#eee8d5
|
|
171
|
+
style Specification fill:#2aa198,stroke:#586e75,color:#002b36
|
|
172
|
+
style Implementation fill:#2aa198,stroke:#586e75,color:#002b36
|
|
173
|
+
style Interface fill:#2aa198,stroke:#586e75,color:#002b36
|
|
174
|
+
style Node fill:#859900,stroke:#586e75,color:#002b36
|
|
175
|
+
style Web fill:#859900,stroke:#586e75,color:#002b36
|
|
176
|
+
style Pure fill:#859900,stroke:#586e75,color:#002b36
|
|
129
177
|
```
|
|
130
178
|
|
|
131
|
-
|
|
179
|
+
## Runtime Platforms
|
|
132
180
|
|
|
133
|
-
|
|
181
|
+
Testeranto runs tests in multiple runtime environments, each suited for different testing scenarios:
|
|
134
182
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
},
|
|
141
|
-
// "Given" are initial states
|
|
142
|
-
{
|
|
143
|
-
Default;
|
|
144
|
-
WidthOfOneAndHeightOfOne;
|
|
145
|
-
WidthAndHeightOf: [number, number];
|
|
146
|
-
},
|
|
147
|
-
// "Whens" are steps which change the state of the test subject
|
|
148
|
-
{
|
|
149
|
-
HeightIsPubliclySetTo: [number];
|
|
150
|
-
WidthIsPubliclySetTo: [number];
|
|
151
|
-
setWidth: [number];
|
|
152
|
-
setHeight: [number];
|
|
153
|
-
},
|
|
154
|
-
// "Thens" are steps which make assertions of the test subject
|
|
155
|
-
{
|
|
156
|
-
AreaPlusCircumference: [number];
|
|
157
|
-
circumference: [number];
|
|
158
|
-
getWidth: [number];
|
|
159
|
-
getHeight: [number];
|
|
160
|
-
area: [number];
|
|
161
|
-
prototype: [];
|
|
162
|
-
},
|
|
163
|
-
// "Checks" are similar to "Givens"
|
|
164
|
-
{
|
|
165
|
-
Default;
|
|
166
|
-
WidthOfOneAndHeightOfOne;
|
|
167
|
-
WidthAndHeightOf: [number, number];
|
|
168
|
-
}
|
|
169
|
-
>;
|
|
170
|
-
```
|
|
183
|
+
| Runtime | Description | When To Use | Key Characteristics |
|
|
184
|
+
| -------- | ------------------------------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------- |
|
|
185
|
+
| **Node** | Full IO access with Node.js built-in modules | Testing backend code, Node APIs, or anything needing filesystem access | Runs in Node v8 via fork, has access to fs, crypto, etc |
|
|
186
|
+
| **Web** | DOM API access with browser capabilities | Testing frontend code, UI interactions, or visual regression | Runs in Chrome page, can take screenshots/recordings |
|
|
187
|
+
| **Pure** | Isolated JS runtime without external dependencies | Fast unit tests that don't need external resources | Dynamically imported into main thread, no IO access |
|
|
171
188
|
|
|
172
|
-
|
|
189
|
+
**Key Considerations:**
|
|
173
190
|
|
|
174
|
-
|
|
191
|
+
- Use **Node** for testing backend services, file operations, or anything requiring Node.js APIs
|
|
192
|
+
- Use **Web** when testing browser-specific code that references `document` or `window`
|
|
193
|
+
- Use **Pure** for fast, isolated unit tests where you don't need console output or external resources
|
|
175
194
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
195
|
+
## CLI Commands
|
|
196
|
+
|
|
197
|
+
| Command | Description |
|
|
198
|
+
| ------------------------------------- | --------------------------------------------- |
|
|
199
|
+
| `yarn t-init` | Create a new testeranto project |
|
|
200
|
+
| `yarn t-build <YOUR_TESTS> dev\|once` | Build test bundles (watch or single-run mode) |
|
|
201
|
+
| `yarn t-run <YOUR_TESTS> dev\|once` | Run tests (watch or single-run mode) |
|
|
202
|
+
| `yarn t-report` | Launch test report server |
|
|
203
|
+
| `yarn t-aider` | Fix failing tests with AI |
|
|
204
|
+
|
|
205
|
+
Example workflow:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# Initialize project
|
|
209
|
+
yarn t-init
|
|
210
|
+
|
|
211
|
+
# Write tests in test/*.test.ts
|
|
212
|
+
|
|
213
|
+
# In terminal 1 - Build tests (watch mode)
|
|
214
|
+
yarn t-build test/rectangle.test.ts dev
|
|
215
|
+
|
|
216
|
+
# In terminal 2 - Run tests (watch mode)
|
|
217
|
+
yarn t-run test/rectangle.test.ts dev
|
|
218
|
+
|
|
219
|
+
# Or for single-run mode:
|
|
220
|
+
yarn t-build test/rectangle.test.ts once
|
|
221
|
+
yarn t-run test/rectangle.test.ts once
|
|
222
|
+
|
|
223
|
+
# Get AI help with failures
|
|
224
|
+
yarn t-aider
|
|
192
225
|
```
|
|
193
226
|
|
|
194
|
-
|
|
227
|
+
## AI
|
|
195
228
|
|
|
196
|
-
|
|
229
|
+
Testeranto generates a "prompt" alongside test results. This prompt is passed to aider as input.
|
|
197
230
|
|
|
198
|
-
```ts
|
|
199
|
-
export const RectangleTesterantoBaseTestSpecification: ITestSpecification<
|
|
200
|
-
I,
|
|
201
|
-
O
|
|
202
|
-
> = (Suite, Given, When, Then, Check) => {
|
|
203
|
-
return [
|
|
204
|
-
Suite.Default(
|
|
205
|
-
"Testing the Rectangle class",
|
|
206
|
-
{
|
|
207
|
-
// A "given" is a strict BDD test. It starts with an initial state, then executes the "whens" which update the test subject, and then executes the "thens" as a assertions.
|
|
208
|
-
test0: Given.Default(
|
|
209
|
-
// a list of features
|
|
210
|
-
["https://api.github.com/repos/adamwong246/testeranto/issues/8"],
|
|
211
|
-
// a list of "whens"
|
|
212
|
-
[When.setWidth(4), When.setHeight(19)],
|
|
213
|
-
// a list of "thens"
|
|
214
|
-
[Then.getWidth(4), Then.getHeight(19)]
|
|
215
|
-
),
|
|
216
|
-
},
|
|
217
|
-
|
|
218
|
-
[
|
|
219
|
-
// a "check" is a less strict style of test. Instead of lists of whens and thens, you get a function callback.
|
|
220
|
-
Check.Default("imperative style?!", [], async (rectangle) => {
|
|
221
|
-
Then.getWidth(2).thenCB(rectangle);
|
|
222
|
-
Then.getHeight(2).thenCB(rectangle);
|
|
223
|
-
When.setHeight(22).whenCB(rectangle);
|
|
224
|
-
Then.getHeight(232).thenCB(rectangle);
|
|
225
|
-
}),
|
|
226
|
-
]
|
|
227
|
-
),
|
|
228
|
-
];
|
|
229
|
-
};
|
|
230
231
|
```
|
|
232
|
+
// input src files which can be edited by aider
|
|
233
|
+
/add test/node.ts
|
|
231
234
|
|
|
232
|
-
|
|
235
|
+
// test report files that inform aider but should not be edited
|
|
236
|
+
/read testeranto/reports/allTests/node/test/node/tests.json
|
|
237
|
+
/read testeranto/reports/allTests/test/node/node/lint_errors.json
|
|
238
|
+
/read testeranto/reports/allTests/test/node/node/type_errors.txt
|
|
233
239
|
|
|
234
|
-
|
|
240
|
+
// A list of features which can inform aider.
|
|
241
|
+
/load testeranto/reports/allTests/node/test/node/featurePrompt.txt
|
|
235
242
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
beforeEach: async (subject, i) => {
|
|
239
|
-
return i();
|
|
240
|
-
},
|
|
241
|
-
andWhen: async function (s, whenCB, tr, utils) {
|
|
242
|
-
return whenCB(s)(s, utils);
|
|
243
|
-
},
|
|
244
|
-
butThen: async (s, t, tr, pm) => {
|
|
245
|
-
return t(s, pm);
|
|
246
|
-
},
|
|
247
|
-
};
|
|
243
|
+
// tell the AI what to do
|
|
244
|
+
/code Fix the failing tests described in testeranto/reports/allTests/node/test/node/tests.json. Correct any type signature errors described in the files testeranto/reports/allTests/test/node/node/type_errors.txt. Implement any method which throws "Function not implemented. Resolve the lint errors described in testeranto/reports/allTests/test/node/node/lint_errors.json"
|
|
248
245
|
```
|
|
249
246
|
|
|
250
|
-
##
|
|
247
|
+
## "Features"
|
|
251
248
|
|
|
252
|
-
The
|
|
249
|
+
Testeranto connects "features" to tests. The features may be simple strings, but they can also take the form of local markdown files, or remote URLs to external feature tracking systems. For instance, this could be a jira ticket or a github issue. These features are used to inform the AI context.
|
|
253
250
|
|
|
254
251
|
```ts
|
|
255
|
-
|
|
252
|
+
import someMarkdownFile from "someMarkdownFile.md";
|
|
253
|
+
|
|
254
|
+
...
|
|
255
|
+
|
|
256
|
+
test0: Given.Default(
|
|
257
|
+
[
|
|
258
|
+
"https://api.github.com/repos/adamwong246/testeranto/issues/8",
|
|
259
|
+
"you can set the width and height of a Rectangle",
|
|
260
|
+
someMarkdownFile
|
|
261
|
+
],
|
|
262
|
+
|
|
263
|
+
[When.setWidth(4), When.setHeight(19)],
|
|
264
|
+
[Then.getWidth(4), Then.getHeight(19)]
|
|
265
|
+
),
|
|
266
|
+
...
|
|
267
|
+
|
|
256
268
|
```
|
|
257
269
|
|
|
258
270
|
## Sidecars (COMING SOON)
|
package/bundle.js
CHANGED
|
@@ -2,11 +2,17 @@ import * as esbuild from 'esbuild'
|
|
|
2
2
|
|
|
3
3
|
await esbuild.build({
|
|
4
4
|
outExtension: { '.js': '.mjs' },
|
|
5
|
-
entryPoints: [
|
|
5
|
+
entryPoints: [
|
|
6
|
+
'src/build.ts',
|
|
7
|
+
'src/run.ts',
|
|
8
|
+
'src/init-docs.ts',
|
|
9
|
+
'src/ReportServer.ts',
|
|
10
|
+
'src/esbuildConfigs/eslint-formatter-testeranto.ts',
|
|
11
|
+
'src/mothership/index.ts'
|
|
12
|
+
],
|
|
6
13
|
bundle: true,
|
|
7
14
|
format: "esm",
|
|
8
15
|
platform: "node",
|
|
9
|
-
// outfile: 'dist/prebuild/cli.mjs'
|
|
10
16
|
outdir: 'dist/prebuild',
|
|
11
17
|
packages: "external",
|
|
12
18
|
supported: {
|
|
@@ -18,79 +24,6 @@ await esbuild.build({
|
|
|
18
24
|
},
|
|
19
25
|
})
|
|
20
26
|
|
|
21
|
-
// await esbuild.build({
|
|
22
|
-
// entryPoints: ['src/init-docs.ts'],
|
|
23
|
-
// bundle: true,
|
|
24
|
-
// format: "esm",
|
|
25
|
-
// platform: "node",
|
|
26
|
-
// // format: "node",
|
|
27
|
-
// outfile: 'dist/prebuild/init-docs.mjs',
|
|
28
|
-
// // external: ['crypto', 'os'],
|
|
29
|
-
// supported: {
|
|
30
|
-
// "dynamic-import": true,
|
|
31
|
-
// },
|
|
32
|
-
|
|
33
|
-
// banner: {
|
|
34
|
-
// js: `import { createRequire } from 'module';const require = createRequire(import.meta.url);`,
|
|
35
|
-
// },
|
|
36
|
-
// })
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// await esbuild.build({
|
|
41
|
-
// entryPoints: ['src/cli2.ts'],
|
|
42
|
-
// bundle: true,
|
|
43
|
-
// format: "esm",
|
|
44
|
-
// platform: "node",
|
|
45
|
-
// outfile: 'dist/prebuild/cli2.mjs',
|
|
46
|
-
// packages: "external",
|
|
47
|
-
// supported: {
|
|
48
|
-
// "dynamic-import": true,
|
|
49
|
-
// },
|
|
50
|
-
|
|
51
|
-
// banner: {
|
|
52
|
-
// js: `import { createRequire } from 'module';const require = createRequire(import.meta.url);`,
|
|
53
|
-
// },
|
|
54
|
-
// })
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
// await esbuild.build({
|
|
60
|
-
// entryPoints: ['src/ReportServer.ts'],
|
|
61
|
-
// bundle: true,
|
|
62
|
-
// format: "esm",
|
|
63
|
-
// platform: "node",
|
|
64
|
-
// outfile: 'dist/prebuild/ReportServer.mjs',
|
|
65
|
-
// packages: "external",
|
|
66
|
-
// // supported: {
|
|
67
|
-
// // "dynamic-import": true,
|
|
68
|
-
// // },
|
|
69
|
-
|
|
70
|
-
// // banner: {
|
|
71
|
-
// // js: `import { createRequire } from 'module';const require = createRequire(import.meta.url);`,
|
|
72
|
-
// // },
|
|
73
|
-
// })
|
|
74
|
-
|
|
75
|
-
// await esbuild.build({
|
|
76
|
-
// entryPoints: ['src/esbuildConfigs/eslint-formatter-testeranto.ts'],
|
|
77
|
-
// bundle: true,
|
|
78
|
-
// format: "esm",
|
|
79
|
-
// platform: "node",
|
|
80
|
-
// outfile: 'dist/prebuild/eslint-formatter-testeranto.mjs',
|
|
81
|
-
// packages: "external",
|
|
82
|
-
// // supported: {
|
|
83
|
-
// // "dynamic-import": true,
|
|
84
|
-
// // },
|
|
85
|
-
|
|
86
|
-
// // banner: {
|
|
87
|
-
// // js: `import { createRequire } from 'module';const require = createRequire(import.meta.url);`,
|
|
88
|
-
// // },
|
|
89
|
-
// })
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
/////////////////////////
|
|
93
|
-
|
|
94
27
|
await esbuild.build({
|
|
95
28
|
entryPoints: ['src/ReportClient.tsx', 'src/TestReport.tsx', 'src/Project.tsx'],
|
|
96
29
|
bundle: true,
|
package/dist/common/src/Init.js
CHANGED
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
6
7
|
const fs_1 = __importDefault(require("fs"));
|
|
7
8
|
exports.default = async () => {
|
|
8
9
|
[
|
|
@@ -14,6 +15,7 @@ exports.default = async () => {
|
|
|
14
15
|
`testeranto/reports`,
|
|
15
16
|
`testeranto/reports/`,
|
|
16
17
|
`testeranto/features/`,
|
|
18
|
+
`testeranto/externalTests/`,
|
|
17
19
|
].forEach((f) => {
|
|
18
20
|
try {
|
|
19
21
|
fs_1.default.mkdirSync(`${process.cwd()}/${f}`);
|
|
@@ -25,7 +27,10 @@ exports.default = async () => {
|
|
|
25
27
|
fs_1.default.copyFileSync(`node_modules/testeranto/dist/prebuild/Project.js`, `testeranto/Project.js`);
|
|
26
28
|
fs_1.default.copyFileSync(`node_modules/testeranto/dist/prebuild/ReportClient.js`, `testeranto/ReportClient.js`);
|
|
27
29
|
fs_1.default.copyFileSync(`node_modules/testeranto/dist/prebuild/Project.css`, `testeranto/Project.css`);
|
|
28
|
-
|
|
30
|
+
// fs.copyFileSync(
|
|
31
|
+
// `node_modules/testeranto/dist/prebuild/ReportClient.css`,
|
|
32
|
+
// `testeranto/ReportClient.css`
|
|
33
|
+
// );
|
|
29
34
|
fs_1.default.copyFileSync(`node_modules/testeranto/dist/prebuild/TestReport.js`, `testeranto/TestReport.js`);
|
|
30
35
|
fs_1.default.copyFileSync(`node_modules/testeranto/dist/prebuild/TestReport.css`, `testeranto/TestReport.css`);
|
|
31
36
|
};
|
package/dist/common/src/Node.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.NodeTesteranto = void 0;
|
|
|
7
7
|
const core_js_1 = __importDefault(require("./lib/core.js"));
|
|
8
8
|
const index_js_1 = require("./lib/index.js");
|
|
9
9
|
const node_js_1 = require("./PM/node.js");
|
|
10
|
+
let ipcfile;
|
|
10
11
|
class NodeTesteranto extends core_js_1.default {
|
|
11
12
|
constructor(input, testSpecification, testImplementation, testResourceRequirement, testInterface) {
|
|
12
13
|
super(input, testSpecification, testImplementation, testResourceRequirement, testInterface, () => {
|
|
@@ -15,7 +16,7 @@ class NodeTesteranto extends core_js_1.default {
|
|
|
15
16
|
}
|
|
16
17
|
async receiveTestResourceConfig(partialTestResource) {
|
|
17
18
|
const t = JSON.parse(partialTestResource);
|
|
18
|
-
const pm = new node_js_1.PM_Node(t);
|
|
19
|
+
const pm = new node_js_1.PM_Node(t, ipcfile);
|
|
19
20
|
return await this.testJobs[0].receiveTestResourceConfig(pm);
|
|
20
21
|
// const { failed, artifacts, logPromise, features } =
|
|
21
22
|
// await this.testJobs[0].receiveTestResourceConfig(pm);
|
|
@@ -29,15 +30,16 @@ const testeranto = async (input, testSpecification, testImplementation, testInte
|
|
|
29
30
|
process.on("unhandledRejection", (reason, promise) => {
|
|
30
31
|
console.error("Unhandled Rejection at:", promise, "reason:", reason);
|
|
31
32
|
// Optionally, terminate the process or perform cleanup
|
|
33
|
+
// t.registerUncaughtPromise(reason, promise);
|
|
32
34
|
});
|
|
33
35
|
try {
|
|
34
|
-
|
|
36
|
+
ipcfile = process.argv[3];
|
|
35
37
|
const f = await t.receiveTestResourceConfig(process.argv[2]);
|
|
36
|
-
console.error("goodbye node
|
|
38
|
+
console.error("goodbye node with failures", f.fails);
|
|
37
39
|
process.exit(f.fails);
|
|
38
40
|
}
|
|
39
41
|
catch (e) {
|
|
40
|
-
console.error("goodbye node error", e);
|
|
42
|
+
console.error("goodbye node with caught error", e);
|
|
41
43
|
process.exit(-1);
|
|
42
44
|
// fs.writeFileSync(`tests.json`, JSON.stringify(t.,
|
|
43
45
|
// null, 2));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NodeSidecar = void 0;
|
|
4
|
+
const Sidecar_1 = require("./lib/Sidecar");
|
|
5
|
+
const nodeSidecar_1 = require("./PM/nodeSidecar");
|
|
6
|
+
class NodeSidecar extends Sidecar_1.Sidecar {
|
|
7
|
+
constructor(t) {
|
|
8
|
+
super();
|
|
9
|
+
this.pm = new nodeSidecar_1.PM_Node_Sidecar(t);
|
|
10
|
+
this.pm.start(this.stop).then(() => {
|
|
11
|
+
this.start(JSON.parse(process.argv[2]));
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.NodeSidecar = NodeSidecar;
|