PHPackages                             dex/frontier - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. dex/frontier

ActiveLibrary[API Development](/categories/api)

dex/frontier
============

The frontier between your Laravel app and your decoupled frontend

0.17.0(3mo ago)333.1k↓31%4MITPHPCI passing

Since Jan 12Pushed yesterday1 watchersCompare

[ Source](https://github.com/edersoares/frontier)[ Packagist](https://packagist.org/packages/dex/frontier)[ RSS](/packages/dex-frontier/feed)WikiDiscussions main Synced yesterday

READMEChangelog (10)Dependencies (14)Versions (20)Used By (0)

Frontier
========

[](#frontier)

[![Tests](https://github.com/edersoares/frontier/actions/workflows/tests.yml/badge.svg)](https://github.com/edersoares/frontier/actions)[![License](https://camo.githubusercontent.com/3c35a6ff668a73468a7f0f8d5a97460018ac0cf28706320c343b1a32b7ec395d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f65646572736f617265732f66726f6e74696572)](https://github.com/edersoares/frontier/blob/main/LICENSE)

The frontier between your [Laravel](https://laravel.com/) app and your decoupled frontend.

**Frontier** allows you to run your favorite frontend framework and to serve the initial page by the backend, like a proxy.

It's great for anyone using custom domains to test their applications or running multiple frontends that use the same backend. You will be able to test your app using cookies, sessions and avoiding CORS "same source" issues.

Installation
------------

[](#installation)

Just install `dex/frontier` into your Laravel app and configure some [environment variables](https://github.com/edersoares/frontier#environment-variables).

```
composer require dex/frontier
```

### Environment variables

[](#environment-variables)

You can configure your frontend using some environment variables described below.

VariableDescriptionDefault`FRONTIER_TYPE`Define type of controller `http`, `proxy` or `view``view``FRONTIER_ENDPOINT`Endpoint where the frontend will run`frontier``FRONTIER_VIEW`Default `view` that will be rendered or `url` of the server`frontier::index``FRONTIER_VIEWS_PATH`Directory where all the `views` are`frontier/resources/html``FRONTIER_FIND`Content that will be replaced`FRONTIER_REPLACE_WITH`Content that will be the replacement`FRONTIER_PROXY`URIs that you will do proxy`FRONTIER_CACHE`When `http` type, indicates se cache will be do`true``FRONTIER_PROXY_HOST``url` of the assets server`FRONTIER_PROXY_RULES`Proxy rules### Frontend types

[](#frontend-types)

You can use 3 different types of frontend `http`, `proxy` or `view`.

#### HTTP

[](#http)

Use in `FRONTIER_VIEW` the URL of your frontend server.

#### Proxy

[](#proxy)

Use in `FRONTIER_PROXY_HOST` or `FRONTIER_VIEW` the URL of your frontend server.

> `FRONTIER_VIEW` will be removed in the future.

#### View

[](#view)

Use in `FRONTIER_VIEW` the name of your view that you initialize your frontend, this is relative a Blade views.

### Examples

[](#examples)

#### Vite and Vue.js

[](#vite-and-vuejs)

When using [Vite](https://vitejs.dev/) and [Vue.js](https://vuejs.org/) you can start your project with these environment variables using `http` approach.

```
FRONTIER_ENDPOINT=/vue
FRONTIER_TYPE=http
FRONTIER_VIEW=http://localhost:5173/
FRONTIER_FIND=/@vite/client,/src/main.ts,/vite.svg
FRONTIER_REPLACE_WITH=http://localhost:5173/@vite/client,http://localhost:5173/src/main.ts,http://localhost:5173/vite.svg
FRONTIER_PROXY=/vite.svg
FRONTIER_CACHE=false
```

#### Nuxt.js

[](#nuxtjs)

When using [Nuxt](https://nuxt.com/) you can start your project with these environment variables using `proxy` approach.

```
FRONTIER_PROXY_HOST=http://localhost:3000
FRONTIER_PROXY_RULES=/_vfs.json::exact|/favicon.ico::exact::rewrite(/favicon.ico)|/__nuxt_devtools__/client/_nuxt/builds/meta|/__nuxt_devtools__/client::replace(/__nuxt_devtools__/client/_nuxt/)|/_nuxt|/_fonts|/::replace(/_nuxt/)
```

### Multiple frontends

[](#multiple-frontends)

You can run multiple frontends, just create a custom configuration file.

```
php artisan vendor:publish --tag=frontier
```

The `config/frontier.php` file will be created in your Laravel app. This file contains some settings that can be replicated to add more frontends to your app.

License
-------

[](#license)

[Frontier](https://github.com/edersoares/frontier) is licensed under the MIT license. See the [license](https://github.com/edersoares/frontier/blob/main/LICENSE) file for more details.

###  Health Score

50

—

FairBetter than 95% of packages

Maintenance91

Actively maintained with recent releases

Popularity34

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~95 days

Recently: every ~148 days

Total

17

Last Release

107d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/957395?v=4)[Eder Soares](/maintainers/edersoares)[@edersoares](https://github.com/edersoares)

---

Top Contributors

[![edersoares](https://avatars.githubusercontent.com/u/957395?v=4)](https://github.com/edersoares "edersoares (113 commits)")[![edineivaldameri](https://avatars.githubusercontent.com/u/99054215?v=4)](https://github.com/edineivaldameri "edineivaldameri (5 commits)")[![otavio-paganotti](https://avatars.githubusercontent.com/u/22649066?v=4)](https://github.com/otavio-paganotti "otavio-paganotti (2 commits)")

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/dex-frontier/health.svg)

```
[![Health](https://phpackages.com/badges/dex-frontier/health.svg)](https://phpackages.com/packages/dex-frontier)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M131](/packages/roots-acorn)[spatie/laravel-export

Create a static site bundle from a Laravel app

674146.0k6](/packages/spatie-laravel-export)[simplestats-io/laravel-client

Server-side analytics for Laravel that follows the full funnel from visit to registration to payment, attributed to the channel that drove it. Revenue, MRR, churn and ad-spend profit (ROAS/CAC) per channel. GDPR compliant, ad-blocker proof.

5021.9k](/packages/simplestats-io-laravel-client)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

816333.3k3](/packages/defstudio-telegraph)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
