Files
markitect-main/capabilities/testdrive-jsui/node_modules/yargs-parser/CHANGELOG.md
tegwick 17c62aadaa feat: complete testdrive-jsui capability extraction with full JavaScript test integration
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>
2025-11-09 22:29:30 +01:00

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

  • typescript: ignore .cts files during publish (#454) (d69f9c3), closes #452

21.1.0 (2022-08-03)

Features

  • allow the browser build to be imported (#443) (a89259f)

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

  • populate--: -- should always be array (#354) (585ae8f)

20.2.5 (2021-02-13)

Bug Fixes

20.2.4 (2020-11-09)

Bug Fixes

20.2.3 (2020-10-16)

Bug Fixes

  • exports: node 13.0 and 13.1 require the dotted object form with a string fallback (#336) (3ae7242)

20.2.2 (2020-10-14)

Bug Fixes

  • exports: node 13.0-13.6 require a string fallback (#333) (291aeda)

20.2.1 (2020-10-01)

Bug Fixes

20.2.0 (2020-09-21)

Features

  • string-utils: export looksLikeNumber helper (#324) (c8580a2)

Bug Fixes

  • unknown-options-as-args: convert positionals that look like numbers (#326) (f85ebb4)

20.1.0 (2020-09-20)

Features

  • adds parse-positional-numbers configuration (#321) (9cec00a)

Bug Fixes

  • build: update release-please; make labels kick off builds (#323) (09f448b)

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-parser may 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

  • drops Node 6. begin following Node.js LTS schedule (#278) (9014ed7)

Code Refactoring

18.1.3 (2020-04-16)

Bug Fixes

  • setArg: options using camel-case and dot-notation populated twice (#268) (f7e15b9)

18.1.2 (2020-03-26)

Bug Fixes

  • array, nargs: support -o=--value and --option=--value format (#262) (41d3f81)

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

  • introduce single-digit boolean aliases (#255) (9c60265)

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)