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

90 lines
2.9 KiB
JSON

{
"name": "jsdom",
"version": "23.2.0",
"description": "A JavaScript implementation of many web standards",
"keywords": [
"dom",
"html",
"whatwg",
"w3c"
],
"maintainers": [
"Elijah Insua <tmpvar@gmail.com> (http://tmpvar.com)",
"Domenic Denicola <d@domenic.me> (https://domenic.me/)",
"Sebastian Mayr <sebmaster16@gmail.com> (https://blog.smayr.name/)",
"Joris van der Wel <joris@jorisvanderwel.com>",
"Timothy Gu <timothygu99@gmail.com> (https://timothygu.me/)",
"Magne Andersson <code@zirro.se> (https://zirro.se/)",
"Pierre-Marie Dartus <dartus.pierremarie@gmail.com>"
],
"license": "MIT",
"repository": "jsdom/jsdom",
"dependencies": {
"@asamuzakjp/dom-selector": "^2.0.1",
"cssstyle": "^4.0.1",
"data-urls": "^5.0.0",
"decimal.js": "^10.4.3",
"form-data": "^4.0.0",
"html-encoding-sniffer": "^4.0.0",
"http-proxy-agent": "^7.0.0",
"https-proxy-agent": "^7.0.2",
"is-potential-custom-element-name": "^1.0.1",
"parse5": "^7.1.2",
"rrweb-cssom": "^0.6.0",
"saxes": "^6.0.0",
"symbol-tree": "^3.2.4",
"tough-cookie": "^4.1.3",
"w3c-xmlserializer": "^5.0.0",
"webidl-conversions": "^7.0.0",
"whatwg-encoding": "^3.1.1",
"whatwg-mimetype": "^4.0.0",
"whatwg-url": "^14.0.0",
"ws": "^8.16.0",
"xml-name-validator": "^5.0.0"
},
"peerDependencies": {
"canvas": "^2.11.2"
},
"peerDependenciesMeta": {
"canvas": {
"optional": true
}
},
"devDependencies": {
"@domenic/eslint-config": "^3.0.0",
"benchmark": "^2.1.4",
"eslint": "^8.56.0",
"eslint-plugin-html": "^7.1.0",
"eslint-plugin-jsdom-internal": "file:./scripts/eslint-plugin",
"js-yaml": "^4.1.0",
"minimatch": "^9.0.3",
"mocha": "^10.2.0",
"mocha-sugar-free": "^1.4.0",
"pngjs": "^7.0.0",
"server-destroy": "^1.0.1",
"webidl2js": "^17.1.0",
"yargs": "^17.7.2"
},
"scripts": {
"prepare": "npm run convert-idl && npm run generate-js-globals",
"pretest": "npm run prepare && npm run init-wpt",
"test-wpt": "mocha test/web-platform-tests/run-wpts.js",
"test-tuwpt": "mocha test/web-platform-tests/run-tuwpts.js",
"test-mocha": "mocha",
"test-api": "mocha test/api",
"test": "mocha test/index.js",
"lint": "eslint . --cache --ext .js,.html",
"init-wpt": "git submodule update --init --recursive",
"reset-wpt": "rm -rf ./test/web-platform-tests/tests && npm run init-wpt",
"update-wpt": "git submodule update --init --recursive --remote && cd test/web-platform-tests/tests && python wpt.py manifest --path ../wpt-manifest.json",
"update-authors": "git log --format=\"%aN <%aE>\" | sort -f | uniq > AUTHORS.txt",
"benchmark": "node ./benchmark/runner",
"convert-idl": "node ./scripts/webidl/convert.js",
"generate-js-globals": "node ./scripts/generate-js-globals.js"
},
"main": "./lib/api.js",
"engines": {
"node": ">=18"
}
}