Files
markitect-main/capabilities/testdrive-jsui/node_modules/eslint-module-utils/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

8.9 KiB

Change Log

All notable changes to this module will be documented in this file. This project adheres to Semantic Versioning. This change log adheres to standards from Keep a CHANGELOG.

Unreleased

v2.12.1 - 2025-06-19

Fixed

Changed

  • [refactor] parse: avoid using a regex here (thanks @ljharb)

v2.12.0 - 2024-09-26

Added

v2.11.1 - 2024-09-23

Fixed

v2.11.0 - 2024-09-05

New

  • declaredScope: take a node for modern eslint versions (thanks @michaelfaith)

v2.10.0 - 2024-09-05

New

v2.9.0 - 2024-09-02

New

v2.8.2 - 2024-08-25

Fixed

  • parse: also delete parserOptions.projectService (#3039, thanks @Mysak0CZ)

Changed

  • [types] use shared config (thanks @ljharb)
  • [meta] add exports, main
  • [meta] add repository.directory field
  • [refactor] avoid hoisting

v2.8.1 - 2024-02-26

Fixed

Changed

v2.8.0 - 2023-04-14

New

Fixed

  • Improve performance of fullResolve for large projects (#2755, thanks @leipert)

v2.7.4 - 2022-08-11

Fixed

Changed

  • [patch] mark eslint as an optional peer dep (#2523, thanks @wmertens)

v2.7.3 - 2022-01-26

Fixed

  • parse: restore compatibility by making the return value ast again (#2350, thanks @ljharb)

v2.7.2 - 2022-01-01

Fixed

Changed

  • [Refactor] inline pkgDir implementation; remove pkg-dir

v2.7.1 - 2021-10-13

Fixed

  • fixed SyntaxError in node <= 6: Unexpected token ) in parse.js (#2261, thanks @VitusFW)

v2.7.0 - 2021-10-11

Added

v2.6.2 - 2021-08-08

Fixed

  • Use context.getPhysicalFilename() when available (ESLint 7.28+) (#2160, thanks @pmcelhaney)

v2.6.1 - 2021-05-13

Fixed

Changed

  • [deps] update debug
  • [Refactor] use Array.isArray instead of instanceof Array

v2.6.0 - 2020-03-28

Added

  • Print more helpful info if parsing fails (#1671, thanks @kaiyoma)

v2.5.2 - 2020-01-12

Fixed

  • Makes the loader resolution more tolerant (#1606, thanks @arcanis)
  • Use createRequire instead of createRequireFromPath if available (#1602, thanks @iamnapo)

v2.5.1 - 2020-01-11

Fixed

  • Uses createRequireFromPath to resolve loaders (#1591, thanks @arcanis)
  • report the error stack on a resolution error (#599, thanks @sompylasar)

v2.5.0 - 2019-12-07

Added

  • support parseForESLint from custom parser (#1435, thanks @JounQin)

Changed

v2.4.1 - 2019-07-19

Fixed

v2.4.0 - 2019-04-13

Added

  • no-useless-path-segments: Add noUselessIndex option (#1290, thanks @timkraut)

Fixed

  • Fix overwriting of dynamic import() CallExpression ([no-cycle], [no-relative-parent-import], [no-unresolved], [no-useless-path-segments]) (#1218, #1166, #1035, thanks @vikr01)

v2.3.0 - 2019-01-22

Fixed

v2.2.0 - 2018-03-29

Changed

  • parse: attach node locations by default.
  • moduleVisitor: visitor now gets the full import statement node as a second argument, so rules may report against the full statement / require call instead of only the string literal node.

v2.1.1 - 2017-06-22

Re-releasing v2.1.0 after vetting (again) and unable to reproduce issue.

v2.1.0 - 2017-06-02 [YANKED]

Yanked due to critical issue with cache key resulting from #839.

Added

  • parse now additionally passes filePath to parser in parserOptions like eslint core does

v2.0.0 - 2016-11-07

Changed

  • unambiguous no longer exposes fast test regex

Fixed

  • unambiguous.test() regex is now properly in multiline mode