Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Bowerphp Laravel Package

beelab/bowerphp

A PHP implementation of Bower, the front-end package manager. Install with Composer, configure your bower directory via .bowerrc, and set BOWERPHP_TOKEN to lift GitHub API rate limits. Stable but still pre-1.0, so backward compatibility isn't guaranteed.

View on GitHub
Deep Wiki
Context7

A PHP implementation of bower :bird:

Frequently asked questions about Bowerphp
Can I install beelab/bowerphp in a Laravel application with Composer?
Almost certainly not on a supported Laravel version. BowerPHP was last tagged in January 2017 and requires the Symfony 2/3 component lines, while Laravel 10 and 11 pin Symfony Console, Finder, Filesystem and Process to 6.x/7.x, so dependency resolution will fail. Using --ignore-platform-reqs or a manual fork only gets you PHP 8 deprecations and removed functions, and the upstream repository is archived so no compatibility patch is coming. It is realistically installable only in a frozen PHP 7.x application.
Does BowerPHP have a Laravel service provider, facade or publishable config?
No. BowerPHP is not Laravel-aware in any way: there is no service provider, no config publishing, no facade, no queue or event hooks, and no Artisan commands. It is a standalone CLI binary that you would invoke from Composer's bin directory alongside php artisan and npm. Its only integration surface is the filesystem, namely the bower_components directory and whatever public asset path you copy files into.
Which PHP and Laravel versions does BowerPHP support?
The package targets PHP 5.5 through the 7.x era and depends on Symfony 2 and 3 components, with its final tagged release in January 2017. Practically, treat PHP 7.0 to 7.4 as the supported range, and assume it will not run cleanly on PHP 8.x. It is not a supported dependency for Laravel 9, 10 or 11, and even on older Laravel versions it works only as an out-of-band build tool rather than a framework component.
How do I configure the bower directory in BowerPHP?
Exactly like the original Bower: place a .bowerrc file in your project and set the directory you want packages installed into, typically bower_components. BowerPHP reads that file rather than exposing Laravel-style config files or environment-driven configuration. Since it is not framework-aware, there is no config caching or per-environment override mechanism, so any path handling has to be done in the file itself.
How do I avoid GitHub API rate limits when running BowerPHP?
Unauthenticated GitHub API calls are limited to roughly 60 requests per hour, which you will hit quickly with a real dependency tree. Create a personal access token for command-line use and store it in the BOWERPHP_TOKEN environment variable, which raises the limit to about 5000 requests per hour. Note that this token is a build-time credential and should be injected by your CI secret store, never committed to the repository.
Is BowerPHP safe and maintained enough for production builds?
It is not maintained: the repository is archived, the documentation site and Gitter channel are dead, and there are zero dependents and no security advisory or CVE response path. At build time it resolves and downloads arbitrary GitHub tarballs with no lockfile equivalent, so builds are neither reproducible nor reviewable by a security team. Combine that with unhandled GitHub API, auth and media-type changes since 2017, and the risk is high and asymmetric for anything you ship today.
What should I use instead of BowerPHP in a modern Laravel app?
Laravel already solves front-end asset management twice over through Laravel Mix (webpack) and now Vite with npm. Most Bower packages were republished to npm, often under the same or a scoped name, so converting bower.json to package.json covers the large majority of cases. The migration cost for a typical application is measured in hours, not weeks, and you gain lockfiles, reproducible builds and active security maintenance.
How do I migrate an existing bower.json and bower_components directory to npm and Vite?
Start by inventorying every bower.json and bower_components payload across the estate so nothing is missed. Convert each bower.json to a package.json entry, resolving renamed or scoped packages explicitly instead of trusting a blind automated conversion. Replace bower_components references in Blade templates and SCSS with node_modules paths, or better, import them in vite.config.js or resources/js/app.js so the bundler hashes and emits them. Finally delete the Bower config, the bower_components directory and any CI step that referenced either.
Is BowerPHP stable, and is backward compatibility guaranteed?
The project is tagged as a stable version with no beta suffix, but it is still on a 0.x major version, so backward compatibility is explicitly not assured. Combined with an archive date of 2017 and no successor releases, any behaviour you depend on is effectively frozen rather than guaranteed. If a legacy app must keep using it, pin the exact Composer version and vendor the downloaded payloads.
Can I use BowerPHP if Node or npm is not available in my CI pipeline?
A PHP-only or air-gapped build runner is the one scenario where BowerPHP still makes some sense, since it lets a PHP process fetch front-end packages without Node installed. Before committing to it, verify that the constraint is real rather than inherited from an old pipeline design, because installing Node in CI is usually trivial. If the constraint is genuine, treat BowerPHP as a frozen migration bridge: pin the version, vendor the assets, and plan to replace it rather than extend it.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core