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>
16 KiB
16 KiB
Changelog
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
21.1.1 (2022-08-04)
Bug Fixes
21.1.0 (2022-08-03)
Features
Bug Fixes
- halt-at-non-option: prevent known args from being parsed when "unknown-options-as-args" is enabled (#438) (c474bc1)
- node version check now uses process.versions.node (#450) (d07bcdb)
- parse options ending with 3+ hyphens (#434) (4f1060b)
21.0.1 (2022-02-27)
Bug Fixes
21.0.0 (2021-11-15)
⚠ BREAKING CHANGES
- drops support for 10 (#421)
Bug Fixes
Code Refactoring
20.2.9 (2021-06-20)
Bug Fixes
- build: fixed automated release pipeline (1fe9135)
20.2.8 (2021-06-20)
Bug Fixes
- locale: Turkish camelize and decamelize issues with toLocaleLowerCase/toLocaleUpperCase (2617303)
- perf: address slow parse when using unknown-options-as-args (#394) (441f059)
- string-utils: detect [0,1] ranged values as numbers (#388) (efcc32c)
20.2.7 (2021-03-10)
Bug Fixes
- deno: force release for Deno (6687c97)
20.2.6 (2021-02-22)
Bug Fixes
20.2.5 (2021-02-13)
Bug Fixes
20.2.4 (2020-11-09)
Bug Fixes
20.2.3 (2020-10-16)
Bug Fixes
20.2.2 (2020-10-14)
Bug Fixes
20.2.1 (2020-10-01)
Bug Fixes
20.2.0 (2020-09-21)
Features
Bug Fixes
20.1.0 (2020-09-20)
Features
Bug Fixes
20.0.0 (2020-09-09)
⚠ BREAKING CHANGES
- do not ship type definitions (#318)
Bug Fixes
Code Refactoring
19.0.4 (2020-08-27)
Bug Fixes
19.0.3 (2020-08-27)
Bug Fixes
19.0.2 (2020-08-27)
Bug Fixes
19.0.1 (2020-08-09)
Bug Fixes
- build: push tag created for deno (2186a14)
19.0.0 (2020-08-09)
⚠ BREAKING CHANGES
- adds support for ESM and Deno (#295)
- ts: projects using
@types/yargs-parsermay see variations in type definitions. - drops Node 6. begin following Node.js LTS schedule (#278)
Features
- adds support for ESM and Deno (#295) (195bc4a)
- expose camelCase and decamelize helpers (#296) (39154ce)
- deps: update to latest camelcase/decamelize (#281) (8931ab0)
Bug Fixes
- boolean numeric short option (#294) (f600082)
- raise permission error for Deno if config load fails (#298) (1174e2b)
- deps: update dependency decamelize to v3 (#274) (4d98698)
- types: switch back to using Partial types (#293) (bdc80ba)
Build System
Code Refactoring
18.1.3 (2020-04-16)
Bug Fixes
18.1.2 (2020-03-26)
Bug Fixes
18.1.1 (2020-03-16)
Bug Fixes
- __proto__ will now be replaced with ___proto___ in parse (#258), patching a potential prototype pollution vulnerability. This was reported by the Snyk Security Research Team.(63810ca)
18.1.0 (2020-03-07)
Features
18.0.0 (2020-03-02)
⚠ BREAKING CHANGES
- the narg count is now enforced when parsing arrays.
Features
- NaN can now be provided as a value for nargs, indicating "at least" one value is expected for array (#251) (9db4be8)
17.1.0 (2020-03-01)
Features
- introduce greedy-arrays config, for specifying whether arrays consume multiple positionals (#249) (60e880a)
17.0.1 (2020-02-29)
Bug Fixes
17.0.0 (2020-02-10)
⚠ BREAKING CHANGES
- this reverts parsing behavior of booleans to that of yargs@14
- objects used during parsing are now created with a null prototype. There may be some scenarios where this change in behavior leaks externally.
Features
- boolean arguments will not be collected into an implicit array (#236) (34c4e19)
- introduce nargs-eats-options config option (#246) (d50822a)
Bug Fixes
- address bugs with "uknown-options-as-args" (bc023e3)
- array should take precedence over nargs, but enforce nargs (#243) (4cbc188)
- support keys that collide with object prototypes (#234) (1587b6d)
- unknown options terminated with digits now handled by unknown-options-as-args (#238) (d36cdfa)
16.1.0 (2019-11-01)
⚠ BREAKING CHANGES
- populate error if incompatible narg/count or array/count options are used (#191)
Features
- options that have had their default value used are now tracked (#211) (a525234)
- populate error if incompatible narg/count or array/count options are used (#191) (84a401f)
Reverts
- revert 16.0.0 CHANGELOG entry (920320a)