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>
82 lines
2.7 KiB
JSON
82 lines
2.7 KiB
JSON
{
|
|
"name": "fast-glob",
|
|
"version": "3.3.3",
|
|
"description": "It's a very fast and efficient glob library for Node.js",
|
|
"license": "MIT",
|
|
"repository": "mrmlnc/fast-glob",
|
|
"author": {
|
|
"name": "Denis Malinochkin",
|
|
"url": "https://mrmlnc.com"
|
|
},
|
|
"engines": {
|
|
"node": ">=8.6.0"
|
|
},
|
|
"main": "out/index.js",
|
|
"typings": "out/index.d.ts",
|
|
"files": [
|
|
"out",
|
|
"!out/{benchmark,tests}",
|
|
"!out/**/*.map",
|
|
"!out/**/*.spec.*"
|
|
],
|
|
"keywords": [
|
|
"glob",
|
|
"patterns",
|
|
"fast",
|
|
"implementation"
|
|
],
|
|
"devDependencies": {
|
|
"@nodelib/fs.macchiato": "^1.0.1",
|
|
"@types/glob-parent": "^5.1.0",
|
|
"@types/merge2": "^1.1.4",
|
|
"@types/micromatch": "^4.0.0",
|
|
"@types/mocha": "^5.2.7",
|
|
"@types/node": "^14.18.53",
|
|
"@types/picomatch": "^2.3.0",
|
|
"@types/sinon": "^7.5.0",
|
|
"bencho": "^0.1.1",
|
|
"eslint": "^6.5.1",
|
|
"eslint-config-mrmlnc": "^1.1.0",
|
|
"execa": "^7.1.1",
|
|
"fast-glob": "^3.0.4",
|
|
"fdir": "6.0.1",
|
|
"glob": "^10.0.0",
|
|
"hereby": "^1.8.1",
|
|
"mocha": "^6.2.1",
|
|
"rimraf": "^5.0.0",
|
|
"sinon": "^7.5.0",
|
|
"snap-shot-it": "^7.9.10",
|
|
"typescript": "^4.9.5"
|
|
},
|
|
"dependencies": {
|
|
"@nodelib/fs.stat": "^2.0.2",
|
|
"@nodelib/fs.walk": "^1.2.3",
|
|
"glob-parent": "^5.1.2",
|
|
"merge2": "^1.3.0",
|
|
"micromatch": "^4.0.8"
|
|
},
|
|
"scripts": {
|
|
"clean": "rimraf out",
|
|
"lint": "eslint \"src/**/*.ts\" --cache",
|
|
"compile": "tsc",
|
|
"test": "mocha \"out/**/*.spec.js\" -s 0",
|
|
"test:e2e": "mocha \"out/**/*.e2e.js\" -s 0",
|
|
"test:e2e:sync": "mocha \"out/**/*.e2e.js\" -s 0 --grep \"\\(sync\\)\"",
|
|
"test:e2e:async": "mocha \"out/**/*.e2e.js\" -s 0 --grep \"\\(async\\)\"",
|
|
"test:e2e:stream": "mocha \"out/**/*.e2e.js\" -s 0 --grep \"\\(stream\\)\"",
|
|
"build": "npm run clean && npm run compile && npm run lint && npm test",
|
|
"watch": "npm run clean && npm run compile -- -- --sourceMap --watch",
|
|
"bench:async": "npm run bench:product:async && npm run bench:regression:async",
|
|
"bench:stream": "npm run bench:product:stream && npm run bench:regression:stream",
|
|
"bench:sync": "npm run bench:product:sync && npm run bench:regression:sync",
|
|
"bench:product": "npm run bench:product:async && npm run bench:product:sync && npm run bench:product:stream",
|
|
"bench:product:async": "hereby bench:product:async",
|
|
"bench:product:sync": "hereby bench:product:sync",
|
|
"bench:product:stream": "hereby bench:product:stream",
|
|
"bench:regression": "npm run bench:regression:async && npm run bench:regression:sync && npm run bench:regression:stream",
|
|
"bench:regression:async": "hereby bench:regression:async",
|
|
"bench:regression:sync": "hereby bench:regression:sync",
|
|
"bench:regression:stream": "hereby bench:regression:stream"
|
|
}
|
|
}
|