Draft: [PoC] Add Composer script for npm dependency aggregation
I barely read the code, please don't spend time reviewing it, it's entirely generated by a LLM.
Adds composer npm-install command that:
- Scans modules/themes for package.json files
- Merges dependencies with conflict resolution (highest-satisfies, first-wins, fail)
- Writes aggregated package.json with _drupalSources metadata
- Installs packages via php-npm Arborist
New classes in composer/NpmDependencies/:
- NpmInstallOptions: Configuration from composer.json extra section
- DependencySource: DTO tracking dependency origins
- PackageJsonFinder: Discovers package.json via Symfony Finder
- MergeResult: Result object with merged deps and conflicts
- PackageJsonMerger: Core merging algorithm using composer/semver
- NpmDependencyManager: Main orchestrator