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>
173 lines
3.5 KiB
Markdown
173 lines
3.5 KiB
Markdown
4.6.0 / 2015-07-09
|
|
==================
|
|
|
|
* support passing the rest of the arguments to co into the generator
|
|
|
|
```js
|
|
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 `q` with `bluebird` in benchmarks and tests
|
|
|
|
3.0.6 / 2014-05-03
|
|
==================
|
|
|
|
* add `setImmediate()` fallback to `process.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: `this` must 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 object` support
|
|
|
|
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 generatorFunction` support
|
|
* add `yield generator` support
|
|
* 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
|