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.4 KiB
file-entry-cache - Changelog
v6.0.1
- Other changes
-
Delete previous mtime when checksum is used and vice versa - abcf0f9, [Milos Djermanovic](https://github.com/Milos Djermanovic), 19/02/2021 18:19:43
-
Adds travis jobs on ppc64le - 92e4d4a, dineshks1, 25/11/2020 04:52:11
-
v6.0.0
- Refactoring
-
Align file-entry-cache with latest eslint - 4c6f1fb, [Roy Riojas](https://github.com/Roy Riojas), 08/11/2020 02:43:09
-
Upgrade deps - 8ab3257, [Roy Riojas](https://github.com/Roy Riojas), 08/11/2020 02:41:53
-
updated packages - 3dd4231, [Roy Riojas](https://github.com/Roy Riojas), 08/11/2020 02:29:37
-
Upgrade flat-cache to version 3 - d7c60ef, [Roy Riojas](https://github.com/Roy Riojas), 08/11/2020 01:18:04
-
v5.0.1
- Bug Fixes
-
Fix missing checksum comparison from reconcile since now we use mtime and size by default. - e858aa9, [Roy Riojas](https://github.com/Roy Riojas), 04/02/2019 09:30:22
Old mode using checkSum can still be used by passing the
useCheckSumparameter to thecreateorcreateFromFilemethods.
-
v5.0.0
- Refactoring
-
Make checksum comparison optional - b0f9ae0, [Roy Riojas](https://github.com/Roy Riojas), 03/02/2019 18:17:39
To determine if a file has changed we were using the checksum in the newer versions, but eslint was relying on the old behavior where we use the mtime and file size to determine if a file changed. That's why we decided to make the checksum check optional.
To use it:
// to make the cache use the checkSum check do the following: var fCache = fileEntryCache.create(cacheName, dir, useCheckSum); // pass the third parameter as true var otherCache = fileEntryCache.createFromFile(cacheName, useCheckSum); // pass the second parameter as true
-
v4.0.0
-
Build Scripts Changes
- use the same node versions eslint use - 563cfee, [Roy Riojas](https://github.com/Roy Riojas), 08/01/2019 20:29:34
-
Other changes
-
Remove object-assign dependency. - d0f598e, [Corey Farrell](https://github.com/Corey Farrell), 08/01/2019 20:09:51
node.js >=4 is required so object-assign is no longer needed, the native Object.assign can be used instead.
-
v3.0.0
-
Build Scripts Changes
-
Upgrade flat-cache dep to latest - 078b0df, [Roy Riojas](https://github.com/Roy Riojas), 08/01/2019 18:54:40
-
Commit new package-lock.json file - 245fe62, [Roy Riojas](https://github.com/Roy Riojas), 08/01/2019 17:56:21
-
-
Refactoring
- add eslintrc file - 6dd32d8, [Roy Riojas](https://github.com/Roy Riojas), 22/08/2018 09:58:17
-
Other changes
-
Move variable definition out of else block - ea05441, [Zakhar Shapurau](https://github.com/Zakhar Shapurau), 25/04/2017 11:19:00
-
Add script and cmd to test hash/checksum performance - 7f60e0a, [Zakhar Shapurau](https://github.com/Zakhar Shapurau), 24/04/2017 14:43:12
-
Calculate md5 hexdigest instead of Adler-32 checksum - f9e5c69, [Zakhar Shapurau](https://github.com/Zakhar Shapurau), 24/04/2017 14:43:12
-
How to reproduce - 4edc2dc, [Zakhar Shapurau](https://github.com/Zakhar Shapurau), 24/04/2017 13:49:32
-
Test handling of removed files - 09d9ec5, [Zakhar Shapurau](https://github.com/Zakhar Shapurau), 19/04/2017 19:51:50
-
Use content checksum instead of mtime and fsize - 343b340, [Zakhar Shapurau](https://github.com/Zakhar Shapurau), 19/04/2017 19:51:47
-
-
Revert
-
Revert "How to reproduce" - 4b4e54a, [Zakhar Shapurau](https://github.com/Zakhar Shapurau), 25/04/2017 11:15:36
This reverts commit 4edc2dcec01574247bfc2e0a2fe26527332b7df3.
-
v2.0.0
- Features
- do not persist and prune removed files from cache. Relates to #2 - 408374d, [Roy Riojas](https://github.com/Roy Riojas), 16/08/2016 13:47:58
v1.3.1
- Build Scripts Changes
- remove older node version - 0a26ac4, [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:09:17
v1.3.0
- Features
- Add an option to not prune non visited keys. Closes #2 - b1a64db, [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 03:52:12
v1.2.4
v1.2.3
v1.2.2
- Build Scripts Changes
v1.2.1
-
Build Scripts Changes
-
Other changes
- Update dependencies Replaced lodash.assign with smaller object-assign Fixed tests for windows - 0ad3000, [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:44:18
v1.2.0
- Features
v1.1.1
- Features
- Add method to check if a file hasChanged - 3640e2b, [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 05:33:32
v1.1.0
-
Features
-
Create the cache directly from a file path - a23de61, [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 04:41:33
-
Add a method to remove an entry from the filecache - 7af29fc, [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 23:25:32
-
cache module finished - 1f95544, [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 01:08:08
-
-
Build Scripts Changes
- set the version for the first release - 7472eaa, [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 01:29:54
-
Documentation
- Updated documentation - 557358f, [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 01:29:29
-
Other changes
- Initial commit - 3d5f42b, [Roy Riojas](https://github.com/Roy Riojas), 01/03/2015 21:58:29