Files
markitect-main/capabilities/testdrive-jsui/node_modules/file-entry-cache/package.json
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

81 lines
2.7 KiB
JSON

{
"name": "file-entry-cache",
"version": "6.0.1",
"description": "Super simple cache for file metadata, useful for process that work o a given series of files and that only need to repeat the job on the changed ones since the previous run of the process",
"repository": "royriojas/file-entry-cache",
"license": "MIT",
"author": {
"name": "Roy Riojas",
"url": "http://royriojas.com"
},
"main": "cache.js",
"files": [
"cache.js"
],
"engines": {
"node": "^10.12.0 || >=12.0.0"
},
"scripts": {
"eslint": "eslint --cache --cache-location=node_modules/.cache/ 'cache.js' 'test/**/*.js' 'perf.js'",
"autofix": "npm run eslint -- --fix",
"install-hooks": "prepush install && changelogx install-hook && precommit install",
"changelog": "changelogx -f markdown -o ./changelog.md",
"do-changelog": "npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify",
"pre-v": "npm run test",
"post-v": "npm run do-changelog && git push --no-verify && git push --tags --no-verify",
"bump-major": "npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v",
"bump-minor": "npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v",
"bump-patch": "npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v",
"test": "npm run eslint --silent && mocha -R spec test/specs",
"perf": "node perf.js",
"cover": "istanbul cover test/runner.js html text-summary",
"watch": "watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"
},
"prepush": [
"npm run eslint --silent"
],
"precommit": [
"npm run eslint --silent"
],
"keywords": [
"file cache",
"task cache files",
"file cache",
"key par",
"key value",
"cache"
],
"changelogx": {
"ignoreRegExp": [
"BLD: Release",
"DOC: Generate Changelog",
"Generated Changelog"
],
"issueIDRegExp": "#(\\d+)",
"commitURL": "https://github.com/royriojas/file-entry-cache/commit/{0}",
"authorURL": "https://github.com/{0}",
"issueIDURL": "https://github.com/royriojas/file-entry-cache/issues/{0}",
"projectName": "file-entry-cache"
},
"devDependencies": {
"chai": "^4.2.0",
"changelogx": "^5.0.6",
"del": "^6.0.0",
"eslint": "^7.13.0",
"eslint-config-prettier": "^6.15.0",
"eslint-plugin-mocha": "^8.0.0",
"eslint-plugin-prettier": "^3.1.4",
"glob-expand": "^0.2.1",
"istanbul": "^0.4.5",
"mocha": "^8.2.1",
"precommit": "^1.2.2",
"prepush": "^3.1.11",
"prettier": "^2.1.2",
"watch-run": "^1.2.5",
"write": "^2.0.0"
},
"dependencies": {
"flat-cache": "^3.0.4"
}
}