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

Repository Laravel Package

puli/repository

A PHP repository component for managing resource path and URL mappings. It provides a central registry for locating files across packages, supports filesystem and URL repositories, and integrates with Puli’s resource discovery system.

Deep Wiki
Context7

puli/repository provides a resource repository abstraction for the Puli ecosystem, mapping logical Puli paths to physical filesystem locations. It decouples resource references from directory structure, making assets and files easier to locate, serve, and reuse across applications.

  • Configurable path mappings for files and directories
  • URL generation for web-accessible resources
  • Support for multiple repositories through a consistent API
  • Integration with Puli’s discovery and management components
  • Simple resolution of logical paths to real filesystem paths
Frequently asked questions about Repository
What is puli/repository used for?
Puli Repository is a generic PHP filesystem-like repository abstraction for storing and retrieving arbitrary resources by path and type. It was designed to give consistent access to assets, configs, and other files across different backends. It is not a Laravel-specific package and does not provide Laravel container bindings, facades, or configuration integration.
Is puli/repository a Laravel package?
No, puli/repository is a generic PHP library and has no native Laravel integration. It lacks service providers, facades, events, lifecycle hooks, and Laravel configuration conventions. Using it in Laravel requires a custom adapter and service provider, and it should not be treated as a first-class Laravel filesystem abstraction.
Can I use puli/repository with Laravel 10 or Laravel 11?
There is no official support for modern Laravel versions, and the package dates to 2016. Its Symfony, Flysystem, and PHP dependency constraints may conflict with Laravel 10 or 11, so you must run Composer dependency checks against your target version. If integration requires downgrading Laravel or PHP, reject it for new applications.
How do I install puli/repository with Composer?
You may be able to run composer require puli/repository in an isolated environment, but installation success does not mean Laravel compatibility. Run composer why-not against your Laravel and PHP versions and audit transitive dependencies before adding it to an application. For legacy use, prefer a disposable spike or a separate package boundary rather than installing it platform-wide.
Does puli/repository support PHP 8?
PHP 8 compatibility is not guaranteed because the last release was in 2016 and the broader Puli ecosystem is effectively abandoned. You must test on your exact production PHP runtime, including autoloading, PSR interfaces, and case-sensitive path handling. If the package cannot run cleanly without downgrading PHP, do not use it.
How does puli/repository compare to Laravel Storage and Flysystem?
Laravel Storage and Flysystem are actively maintained, Laravel-native or Laravel-integrated filesystem abstractions with disk configuration, drivers, and framework support. Puli Repository offers a path-and-type resource abstraction but lacks modern Laravel integration and active maintenance. For new resource workflows, Laravel Storage should be the default choice.
Is puli/repository still maintained?
No, the last release was 2016-02-05, repository metadata is unknown, and the Puli ecosystem is effectively abandoned. There is no active security patching and limited modern documentation. Treat it as vendored legacy code and budget ownership for dependency pinning, security review, and an eventual exit plan.
How do I integrate puli/repository into a Laravel application safely?
Wrap Puli behind an application-owned repository interface and bind the adapter in a service provider. Keep Puli types out of controllers, models, and domain code, map Puli paths to Laravel disk roots through configuration, and feature-flag a single consumer first. Add contract tests, logging, health checks, and a rollback path before expanding usage.
Can I fork or vendor puli/repository if Composer conflicts occur?
The MIT license permits forking, so you can vendor the minimal required classes under an internal namespace if dependency conflicts block installation. However, forking shifts security patching and maintenance ownership to your team. Keep the fork as small as possible and document an exit path back to Laravel Storage.
What are the best alternatives to puli/repository in Laravel?
Laravel Storage with Flysystem disks is the primary alternative for filesystem-like resource access, and a custom repository interface can cover application-specific resource registries. If you need legacy Puli URI compatibility, isolate an adapter rather than adopting Puli as a platform abstraction. For new projects, avoid puli/repository unless a concrete compatibility requirement justifies the maintenance risk.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo