oh-deer-bundles/smart-export-bundle
Smart Export Bundle is a Laravel/PHP package for creating structured, reusable data exports. It lets you define export bundles, configure what each bundle includes, and generate export files from your application data through a simple, maintainable workflow. Designed to keep export logic organized a...
This is an early alpha (v0.1.01) whose release notes are a todo list, not a changelog. There is no installation documentation, usage documentation, demo package, or test suite yet. Treat the package as source-first: you will learn it by reading code, not docs.
Minimal steps to get moving:
composer require <vendor>/<package>:0.1.01
composer.json (autoload namespaces, Laravel version constraints, whether it ships migrations/config/assets),Engine class and condition classes (the core behavior),database/migrations or stubs.php artisan vendor:publish --provider="Vendor\Package\PackageServiceProvider"
Check for separate tags for config, migrations, and assets.config/<package>.php before running migrations, then migrate.php artisan tinker. That is your first use case and your de facto documentation.Because there is no demo, your first integration should be a throwaway test route or command, not application code.
Config-first setup. The planned "Config with table name" feature implies the table is configurable rather than hardcoded. Read the migration stub to confirm whether it reads config('package.table') or a hardcoded name. If it is hardcoded, publish and edit the migration before running it.
Engine + Conditions composition. The release notes reference "Conditions on Engine", suggesting an engine holds a set of conditions that are evaluated together. Until docs exist, map the API from the source:
Prefer registering conditions through the container so you can swap or mock them in tests:
$this->app->bind(SomeCondition::class, fn () => new SomeCondition(/* deps */));
Asset integration. "Assets integration" is listed as planned, not delivered. If asset publishing exists, publish to public/vendor/<package> and wire it into your layout. If it expects Vite/Mix, check for a build step in the package; do not assume published assets are precompiled.
Workflow pattern for day-to-day use.
config/<package>.php.Integration tips.
0.2.x.0.1.01 exactly, read the source before adopting, and write your own characterization tests around Engine and each condition type. Do not assume semantic versioning protects you.php artisan config:clear), then migrate. If you use config:cache in deployment, the table name is frozen at cache time.vendor:publish.php artisan tinker to instantiate the engine and evaluate a single condition in isolation. Add temporary logging around condition resolution; there is no documented debug mode.1.0.How can I help you explore Laravel packages today?