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>
8.9 KiB
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
unambiguous: detect modules exported from minified code (#3124, thanks @michaelfaith)
Changed
- [refactor]
parse: avoid using a regex here (thanks @ljharb)
v2.12.0 - 2024-09-26
Added
hash: add support for hashing functions (#3072, thanks @michaelfaith)
v2.11.1 - 2024-09-23
Fixed
parse: remove unneeded extra backticks (#3057, thanks @G-Rath)parse: espree parser isn't working with flat config (#3061, thanks @michaelfaith)parse: addecmaVersionandsourceTypetoparserOptions(#3061, thanks @michaelfaith)
v2.11.0 - 2024-09-05
New
declaredScope: take anodefor modern eslint versions (thanks @michaelfaith)
v2.10.0 - 2024-09-05
New
- add context compatibility helpers (#3049, thanks @michaelfaith)
v2.9.0 - 2024-09-02
New
- add support for Flat Config (#3018, thanks @michaelfaith)
v2.8.2 - 2024-08-25
Fixed
Changed
- [types] use shared config (thanks @ljharb)
- [meta] add
exports,main - [meta] add
repository.directoryfield - [refactor] avoid hoisting
v2.8.1 - 2024-02-26
Fixed
parse: also deleteparserOptions.EXPERIMENTAL_useProjectService(#2963, thanks @JoshuaKGoldberg)
Changed
- add types (thanks @ljharb)
v2.8.0 - 2023-04-14
New
Fixed
v2.7.4 - 2022-08-11
Fixed
- [Fix] Ignore hashbang and BOM while parsing (#2431, thanks @silverwind)
Changed
v2.7.3 - 2022-01-26
Fixed
v2.7.2 - 2022-01-01
Fixed
- [patch] Fix
@babel/eslint-parser8 compatibility (#2343, thanks @nicolo-ribaudo)
Changed
- [Refactor] inline
pkgDirimplementation; removepkg-dir
v2.7.1 - 2021-10-13
Fixed
v2.7.0 - 2021-10-11
Added
fileExistsWithCaseSync: addstrictargument (#1262, thanks @sergei-startsev)- add
visit, to support dynamic imports (#1660, #2212, thanks @maxkomarychev, @aladdin-add, @Hypnosphi) - create internal replacement for
pkg-upandread-pkg-up(#2047, @mgwalker)
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
no-unresolved: checkimport()(#2026, thanks @aladdin-add)- Add fix for Windows Subsystem for Linux (#1786, thanks @manuth)
Changed
- [deps] update
debug - [Refactor] use
Array.isArrayinstead ofinstanceof Array
v2.6.0 - 2020-03-28
Added
v2.5.2 - 2020-01-12
Fixed
- Makes the loader resolution more tolerant (#1606, thanks @arcanis)
- Use
createRequireinstead ofcreateRequireFromPathif 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
Changed
v2.4.1 - 2019-07-19
Fixed
- Improve parse perf when using
@typescript-eslint/parser(#1409, thanks @bradzacher) - Improve support for TypeScript declare structures (#1356, thanks @christophercurrie)
v2.4.0 - 2019-04-13
Added
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 fullimportstatement node as a second argument, so rules may report against the full statement /requirecall 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
parsenow additionally passesfilePathtoparserinparserOptionslikeeslintcore does
v2.0.0 - 2016-11-07
Changed
unambiguousno longer exposes fast test regex
Fixed
unambiguous.test()regex is now properly in multiline mode