A Composer package that downloads and installs NodeJS and NPM as local project dependencies.
TheCodingMachine NodeJS Installer is a Composer plugin that downloads and installs NodeJS and NPM as local project dependencies within the vendor directory. It solves the problem of PHP projects requiring NodeJS-based build tools (like Bower, Grunt, or Gulp) by eliminating the need for a global NodeJS installation, ensuring consistent versions across development environments.
PHP developers whose projects rely on Node.js-based build tools for asset management, task running, or frontend tooling, particularly in teams or deployment environments where global NodeJS installations are inconsistent or unavailable.
Developers choose this over manual NodeJS setup because it integrates NodeJS version management directly into Composer's dependency system, automating installation and enabling project-specific NodeJS versions without polluting the global system path.
An installer package that let's you install NodeJS and NPM as a Composer dependency.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically triggers NodeJS installation on Composer's post-install-cmd and post-update-cmd hooks, eliminating manual setup steps as described in the README's custom script section.
Supports Composer-style version constraints for NodeJS, allowing projects to specify ranges like '~0.12' with defaults to the latest stable, ensuring precise environment matching.
Installs NodeJS locally in the vendor directory and offers a forceLocal option, making projects self-contained and reducing cross-machine setup issues, ideal for team standardization.
Provides options to customize the target directory and optionally add vendor/bin to PATH during Composer execution, detailed in the README's options for adaptable workflows.
Key options like targetDir and forceLocal are only available in the root composer.json, limiting flexibility in complex or modular project structures with nested dependencies.
Each project installs a separate NodeJS instance in the vendor directory, leading to significant storage overhead compared to shared global installations, especially in multi-project setups.
Relies entirely on Composer's functionality; failures in Composer scripts or conflicts with other plugins can disrupt NodeJS availability, adding a layer of potential instability.