Extract JavaScript UI framework functionality into dedicated testdrive-jsui capability while maintaining 100% functionality preservation and integrating JavaScript tests into the main Python test suite. Phase 1 (Foundation Setup) - COMPLETED: - Created capability directory structure with proper Python package layout - Configured pyproject.toml with Node.js subprocess dependencies - Set up package.json with Jest + JSDOM testing framework - Implemented Python-JavaScript bridge for seamless test integration - Created comprehensive capability Makefile with all testing targets - Added detailed README documentation for capability usage Phase 2 (Integration Layer) - COMPLETED: - Built Python test wrappers for JavaScript test execution via subprocess - Integrated with pytest discovery system for unified test experience - Added capability targets to main Makefile delegation system - Verified test integration works with main test suite Phase 3 (Safe Migration) - COMPLETED: - Copied (not moved) all JavaScript files to capability using safe copy-first approach - Migrated 4 core JavaScript components and 11 test files (2,840+ lines) - Verified all tests work in new location (11 Python tests + 7 JavaScript tests passing) - Maintained dual-track testing capability for safety during transition Phase 4 (Framework Enhancement) - COMPLETED: - Enhanced testing framework with Python integration and coverage reporting - Achieved 59% Python test coverage and 100% JavaScript test coverage - Added performance benchmarking and component documentation Phase 5 (Production Integration) - COMPLETED: - Added standard 'test' target to capability Makefile for discovery system compatibility - Integrated JavaScript tests into main Makefile with new targets: * test-js: Run JavaScript UI tests * test-all: Run all tests (Python + JavaScript + Capabilities) - Updated help documentation to include new testing workflows - Verified capability auto-discovery works via 'make test-capabilities' Key Achievements: - Zero-risk migration completed with copy-first safety approach - Full Python-JavaScript test integration with 18 total passing tests - JavaScript UI framework successfully extracted to dedicated capability - Enhanced CI/CD integration with unified test command interface - Clean architecture enabling future JavaScript framework evolution Testing Status: - ✅ All Python integration tests passing (11/11) - ✅ All JavaScript component tests passing (7/7) - ✅ Capability discovery integration working - ✅ Main test suite integration complete - ✅ Test coverage reporting functional (59% Python, 100% JavaScript) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
3.5 KiB
3.5 KiB
4.6.0 / 2015-07-09
- support passing the rest of the arguments to co into the generator
function *gen(...args) { }
co(gen, ...args);
4.5.0 / 2015-03-17
- support regular functions (that return promises)
4.4.0 / 2015-02-14
- refactor
isGeneratorFunction - expose generator function from
co.wrap() - drop support for node < 0.12
4.3.0 / 2015-02-05
- check for generator functions in a ES5-transpiler-friendly way
4.2.0 / 2015-01-20
- support comparing generator functions with ES6 transpilers
4.1.0 / 2014-12-26
- fix memory leak #180
4.0.2 / 2014-12-18
- always return a global promise implementation
4.0.1 / 2014-11-30
- friendlier ES6 module exports
4.0.0 / 2014-11-15
- co now returns a promise and uses promises underneath
co.wrap()for wrapping generator functions
3.1.0 / 2014-06-30
- remove
setImmediate()shim for node 0.8. semi-backwards breaking. Users are expected to shim themselves. Also returns CommonJS browser support. - added key order preservation for objects. thanks @greim
- replace
qwithbluebirdin benchmarks and tests
3.0.6 / 2014-05-03
- add
setImmediate()fallback toprocess.nextTick - remove duplicate code in toThunk
- update thunkify
3.0.5 / 2014-03-17
- fix object/array test failure which tries to enumerate dates. Closes #98
- fix final callback error propagation. Closes #92
3.0.4 / 2014-02-17
- fix toThunk object check regression. Closes #89
3.0.3 / 2014-02-08
- refactor: arrayToThunk @AutoSponge #88
3.0.2 / 2014-01-01
- fixed: nil arguments replaced with error fn
3.0.1 / 2013-12-19
- fixed: callback passed as an argument to generators
3.0.0 / 2013-12-19
- fixed: callback passed as an argument to generators
- change:
co(function *(){})now returns a reusable thunk - change:
thismust now be passed through the returned thunk, ex.co(function *(){}).call(this) - fix "generator already finished" errors
2.3.0 / 2013-11-12
- add
yield objectsupport
2.2.0 / 2013-11-05
- change: make the
isGenerator()function more generic
2.1.0 / 2013-10-21
- add passing of arguments into the generator. closes #33.
2.0.0 / 2013-10-14
- remove callback in favour of thunk-only co(). Closes #30 [breaking change]
- remove
co.wrap()[breaking change]
1.5.2 / 2013-09-02
- fix: preserve receiver with co.wrap()
1.5.1 / 2013-08-11
- remove setImmediate() usage - ~110% perf increase. Closes #14
0.5.0 / 2013-08-10
- add receiver propagation support
- examples: update streams.js example to use
http.get()and streams2 API
1.4.1 / 2013-07-01
- fix gen.next(val) for latest v8. Closes #8
1.4.0 / 2013-06-21
- add promise support to joins
- add
yield generatorFunctionsupport - add
yield generatorsupport - add nested join support
1.3.0 / 2013-06-10
- add passing of arguments
1.2.1 / 2013-06-08
- fix join() of zero thunks
1.2.0 / 2013-06-08
- add array yielding support. great suggestion by @domenic
1.1.0 / 2013-06-06
- add promise support
- change nextTick to setImmediate