{"id":15016837,"url":"https://github.com/nascent-africa/jetstrap","last_synced_at":"2025-10-17T11:35:43.667Z","repository":{"id":42437121,"uuid":"296384082","full_name":"nascent-africa/jetstrap","owner":"nascent-africa","description":"A Laravel 8 package to easily switch TailwindCSS resources generated by Laravel Jetstream and Breeze to Bootstrap 4.","archived":false,"fork":false,"pushed_at":"2024-02-28T13:43:38.000Z","size":1781,"stargazers_count":713,"open_issues_count":28,"forks_count":122,"subscribers_count":31,"default_branch":"v2.x","last_synced_at":"2025-04-14T04:13:05.603Z","etag":null,"topics":["bootstrap","inertia","jetstream","jetstream-resources","laravel","laravel-breeze","laravel-jetstream","livewire","swap"],"latest_commit_sha":null,"homepage":"https://github.com/nascent-africa/jetstrap","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nascent-africa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-17T16:35:13.000Z","updated_at":"2025-04-08T05:05:41.000Z","dependencies_parsed_at":"2024-06-18T12:25:04.816Z","dependency_job_id":"fb95ebfc-f20f-4020-9bff-aea8b7d7bda7","html_url":"https://github.com/nascent-africa/jetstrap","commit_stats":{"total_commits":172,"total_committers":12,"mean_commits":"14.333333333333334","dds":"0.19186046511627908","last_synced_commit":"12012b2cf2563f7843dc90f41fc2e471c50c9547"},"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nascent-africa%2Fjetstrap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nascent-africa%2Fjetstrap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nascent-africa%2Fjetstrap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nascent-africa%2Fjetstrap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nascent-africa","download_url":"https://codeload.github.com/nascent-africa/jetstrap/tar.gz/refs/heads/v2.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248819405,"owners_count":21166477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","inertia","jetstream","jetstream-resources","laravel","laravel-breeze","laravel-jetstream","livewire","swap"],"created_at":"2024-09-24T19:49:26.942Z","updated_at":"2025-10-17T11:35:38.623Z","avatar_url":"https://github.com/nascent-africa.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jetstrap\n\n[![Latest Stable Version](https://poser.pugx.org/nascent-africa/jetstrap/v)](//packagist.org/packages/nascent-africa/jetstrap)\n[![Total Downloads](https://poser.pugx.org/nascent-africa/jetstrap/downloads)](//packagist.org/packages/nascent-africa/jetstrap)\n[![License](https://poser.pugx.org/nascent-africa/jetstrap/license)](//packagist.org/packages/nascent-africa/jetstrap)\n\n  \n## Description\n\nJetstrap is a lightweight laravel 8 package that focuses on the `VIEW` side of [Jetstream](https://github.com/laravel/jetstream) / [Breeze](https://github.com/laravel/breeze) package installed in your Laravel application, so when a swap is performed, the `Action`, `MODEL`, `CONTROLLER`, `Component` and `Action` classes of your project is still 100% handled by Laravel development team with no added layer of complexity.\n\n## Table of Content\n  * [Installation](#installation)\n    + [Installing Jetstream](#installing-jetstream)\n      - [Install Jetstream With Livewire](#install-jetstream-with-livewire)\n      - [Or, Install Jetstream With Inertia](#or--install-jetstream-with-inertia)\n    + [Install Jetstrap](#install-jetstrap)\n    + [Finalizing The Installation](#finalizing-the-installation)\n    + [Extras](#extras)\n      - [Pagination](#pagination)\n  * [Presets](#presets)\n    + [Core Ui](#core-ui)\n    + [AdminLTE](#adminlte)\n  * [Breeze](#breeze)\n    + [Swapping Breeze resources](#swapping-breeze-resources)\n    + [Swapping Breeze inertia resources](#swapping-breeze-inertia-resources)\n  * [Testing](#testing)\n  * [License](#license)\n  \n  \n## Installation\n\n### Installing Jetstream\n\nYou may use Composer to install Jetstream into your new Laravel project:\n\n```\ncomposer require laravel/jetstream\n```\n\nIf you choose to install Jetstream through Composer, you should run the jetstream:install Artisan command. This command accepts the name of the stack you prefer (livewire or inertia). You are highly encouraged to read through the entire documentation of Livewire or Inertia before beginning your Jetstream project. In addition, you may use the --teams switch to enable team support:\n\n#### Install Jetstream With Livewire\n\n```\nphp artisan jetstream:install livewire --teams\n```\n\n#### Or, Install Jetstream With Inertia\n\n```\nphp artisan jetstream:install inertia --teams\n```\n\n### Install Jetstrap\n\nUse Composer to install Jetstrap into your new Laravel project as dev dependency:\n\n```\ncomposer require nascent-africa/jetstrap --dev\n```\n\nRegardless how you install Jetstream, Jetstrap commands are very similar to that\nof Jetstream as it accepts the name of the stack you would like to swap (livewire or inertia).\n\n\u003e It is important you install and configure [Laravel Jetstream](https://github.com/laravel/jetstream) before performing a swap.\n\nYou are highly encouraged to read through the entire documentation of [Jetstream](https://jetstream.laravel.com/1.x/introduction.html)\nbefore beginning your Jetstrap project. In addition, you may use the `--teams` switch to swap team assets just like you would in Jetstream:\n\n```bash\n\nphp artisan jetstrap:swap livewire\n\nor\n\nphp artisan jetstrap:swap livewire --teams\n\nphp artisan jetstrap:swap inertia --teams\n```\n\nThis will publish overrides to enable Bootstrap like the good old days!\n\n### Finalizing The Installation\n\nAfter installing Jetstrap and swapping Jetstream resources, remove tailwindCSS and its dependencies if any from your package.json and then install and build your NPM dependencies and migrate your database:\n\n```\nnpm install \u0026\u0026 npm run dev\n\nphp artisan migrate\n```\n\n\n### Extras\n\n#### Pagination\n\nIt is also important to point out that Laravel 8 still includes pagination views built using Bootstrap CSS. To use these views instead of the default Tailwind views, you may call the paginator's useBootstrap method within your AppServiceProvider:\n\n```php\n\u003c?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\ServiceProvider;\nuse Illuminate\\Pagination\\Paginator;\n\nclass AppServiceProvider extends ServiceProvider\n{\n    /**\n     * Register any application services.\n     *\n     * @return void\n     */\n    public function register()\n    {\n        //\n    }\n\n    /**\n     * Bootstrap any application services.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        Paginator::useBootstrap();\n    }\n}\n```\n\n\n## Presets\n\nPresets are custom third party templates built using bootstrap. We've thought about it, what are the chances that you're going to use the default template provided by Laravel or Laravel Jetstream.\n\nWith the assumption you already know which way you want to go before running any type of scaffolding, so if you want to use CoreUi or AdminLte presets then the choice should be specified in your service provider (`JetstrapFacade::useCoreUi3()` or `JetstrapFacade::useAdminLte3()`) the first time you run any `swap` command.\n\nAnd if you change your mind after you've run a swap command and decide to use a preset, then run the `jetstrap:swap` command again.\n\n\n### Core Ui\n\n[Core Ui](https://coreui.io/) lets you save thousands of priceless hours because it offers everything you need to create modern, beautiful, and responsive applications as stated on their website.\n\n\u003e Please visit the CoreUI [documentation](https://coreui.io/docs/getting-started/introduction/) for more details on how to use it.\n\nTo use Core Ui presets, simply call the `useCoreUi3` method within your AppServiceProvider:\n\n```php\n\u003c?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\ServiceProvider;\nuse NascentAfrica\\Jetstrap\\JetstrapFacade;\n\nclass AppServiceProvider extends ServiceProvider\n{\n    /**\n     * Register any application services.\n     *\n     * @return void\n     */\n    public function register()\n    {\n        //\n    }\n\n    /**\n     * Bootstrap any application services.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        JetstrapFacade::useCoreUi3();\n    }\n}\n```\n\n### AdminLTE\n\n[AdminLTE](https://adminlte.io/) is an open source admin dashboard \u0026 control panel theme. Built on top of Bootstrap, AdminLTE provides a range of responsive, reusable, and commonly used components.\n\n\u003e Please visit the AdminLTE [documentation](https://adminlte.io/themes/v3/) for more details on how to use it.\n\nTo use AdminLte presets, simply call the `useAdminLte3` method within your AppServiceProvider:\n\n```php\n\u003c?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\ServiceProvider;\nuse NascentAfrica\\Jetstrap\\JetstrapFacade;\n\nclass AppServiceProvider extends ServiceProvider\n{\n    /**\n     * Register any application services.\n     *\n     * @return void\n     */\n    public function register()\n    {\n        //\n    }\n\n    /**\n     * Bootstrap any application services.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        JetstrapFacade::useAdminLte3();\n    }\n}\n```\n\n\n## Breeze\n\n\u003e **Warning!!!**: Jetstrap resources has been updated to work with the current version of Breeze but does not support swap for inertia-react resources. Feel free to make a PR with this feature if you can.\n\nAccording to the documentation, \"Breeze provides a minimal and simple starting point for building a Laravel application with authentication.\", but personally I'd like to think of it as Laravel Ui without Vue and Bootstrap.\nRecently I worked on a project that didn't use Vue or require a complex authentication system, so Breeze seemed like a good idea, but again I was faced with the TailwindCSS problem, so I figured why not include it to the Jetstrap package.\n\n\u003e Before proceeding please familiarize yourself with the Breeze via the official documentation [documentation](https://github.com/laravel/breeze/blob/1.x/README.md).\n\nAgain Jetstrap does not affect the Model / Controller portion of Breeze, just the View.\n\n### Swapping Breeze resources\n\nTo swap tailwind resource for bootstrap in a breeze configured laravel, simply run:\n\n```bash\n\nphp artisan jetstrap:swap breeze\n```\n\n### Swapping Breeze inertia resources\n\nLaravel Breeze now comes with stubs for inertia scaffolding and so dose Jetstrap. To use a Bootstrap scaffold for your laravel project running on Breeze alongside inertia, simply run the code below:\n\n```bash\n\nphp artisan jetstrap:swap breeze-inertia\n```\n\nNext you have to clean up your `package.json` file to make sure we don't install unnecessary packages.\n\nAfter that run:\n\n```\nnpm install \u0026\u0026 npm run dev\n```\n\n...and you're done!\n\nUsing the `JetstrapFacade::useCoreUi3()` or `JetstrapFacade::useAdminLte3();` in your service provider while swapping breeze assets will work as expected.\n\n\n## Testing\n\nRun the tests with:\n\n```bash\nvendor/bin/phpunit\n```\n\nor \n\n```bash\ncomposer tests\n```\n\n\n## License\nJetstrap is open-sourced software licensed under the [MIT license](https://github.com/nascent-africa/jetstrap/blob/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnascent-africa%2Fjetstrap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnascent-africa%2Fjetstrap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnascent-africa%2Fjetstrap/lists"}