~ / pacotes /laravel-wayfinder-integrando-seu-backend-laravel-ao-frontend-typescript-com-facilidade $ _

Laravel Wayfinder: Integrando seu backend Laravel ao frontend TypeScript com facilidade

Lucas Souza Lucas Souza 3 min de leitura Pacotes
Laravel Wayfinder: Integrando seu backend Laravel ao frontend TypeScript com facilidade

Sempre acompanho lançamentos no ecossistema Laravel em busca de ferramentas que possam tornar o desenvolvimento mais eficiente e organizado. Ontem 02 de Abril, fiquei interessado em uma ferramenta promissora chamada Laravel Wayfinder, que parece resolver muitos dos desafios na integração entre backend Laravel e frontend TypeScript.

O que é o Laravel Wayfinder?

O Laravel Wayfinder é uma solução que gera automaticamente funções TypeScript totalmente tipadas diretamente a partir das rotas e controllers Laravel. Essa funcionalidade promete acabar com a necessidade de URLs hardcoded e elimina os erros comuns de digitação ou parâmetros incorretos no frontend.

Com o Wayfinder, desenvolvedores podem chamar endpoints Laravel diretamente como funções comuns do TypeScript, garantindo uma integração mais fluida e segura entre backend e frontend.

Instalação simples

A instalação é realmente bem simples:

composer require laravel/wayfinder
npm i -D vite-plugin-run

Configure o vite.config.js para monitorar mudanças automaticamente:

import { run } from "vite-plugin-run";

export default defineConfig({
    plugins: [
        run([
            {
                name: "wayfinder",
                run: ["php", "artisan", "wayfinder:generate"],
                pattern: ["routes/*.php", "app/**/Http/**/*.php"],
            },
        ]),
    ],
    resolve: {
        alias: {
            "@actions/": "./resources/js/actions",
            "@routes/": "./resources/js/routes",
        },
    },
});

Gerando definições automáticas

Com um simples comando, as definições são geradas automaticamente:

php artisan wayfinder:generate

Essas definições são organizadas automaticamente nos diretórios wayfinder, actions e routes, proporcionando um ambiente de desenvolvimento mais claro e eficiente.

Potencializando o uso com funções TypeScript

O Wayfinder permite acessar URLs e métodos HTTP facilmente, como neste exemplo:

import { show } from "@actions/App/Http/Controllers/PostController";

const postUrl = show.url(1); // Retorna "/posts/1"
const postHead = show.head(1); // { url: "/posts/1", method: "head" }

Suporte avançado para formulários HTML

Outra promessa interessante do Wayfinder é a geração automática de atributos para formulários convencionais:

php artisan wayfinder:generate --with-form

Exemplo de uso:

import { store } from "@actions/App/Http/Controllers/PostController";

const Page = () => (
    <form {...store.form()}>
        {/* action="/posts" method="post" */}
    </form>
);

Integração com Inertia.js

Para desenvolvedores que utilizam Inertia.js, o Wayfinder é particularmente promissor ao facilitar ainda mais o processo de comunicação com backend:

import { useForm } from "@inertiajs/react";
import { store } from "@actions/App/Http/Controllers/PostController";

const form = useForm({ name: "Meu novo post" });

form.submit(store()); // POST automático para `/posts`

Conclusão

O Laravel Wayfinder é uma ferramenta com grande potencial para melhorar significativamente a produtividade e a segurança em projetos Laravel com TypeScript. Estou bastante entusiasmado com suas possibilidades e recomendo que desenvolvedores fiquem atentos a esta solução para o futuro próximo.

Experimente e veja o quanto ela pode ajudar no seu dia a dia de desenvolvimento!

Veja o passo a passo no youtube

Meet Laravel Wayfinder — Wayfinder automatically generates fully-typed, importable TypeScript functions for your controllers and named routes so you can call your Laravel endpoints directly in your client code just like any other function.

Available now in public beta.… pic.twitter.com/1qhknrr3RO

— Taylor Otwell (@taylorotwell) April 2, 2025

Lucas Souza
Lucas Souza

{AI Engineer} — apaixonado por Laravel, arquitetura de software e construir produtos com impacto. Compartilho aqui tutoriais, descobertas e reflexões sobre o dia a dia de engenharia.

Você também pode gostar

Tutorial: Como Integrar o Laravel com Twilio para Enviar e Receber Mensagens no WhatsApp
Tutoriais

Tutorial: Como Integrar o Laravel com Twilio para Enviar e Receber Mensagens no WhatsApp

Neste post, eu te ensino a integrar o Laravel com o Twilio pra enviar e receber mensagens no WhatsApp. Configuro o ambiente (usei Docker com Sail, mas você escolhe o seu), crio uma conta no Twilio, pego as credenciais e organizo tudo no .env e no config/twilio.php. Defino rotas pra mensagens e status, exponho a app com o Expose e conecto o WhatsApp no Twilio Sandbox. No MessageController, recebo as mensagens e respondo automaticamente com o SDK do Twilio, tudo testado com logs. Simples, prático e direto ao ponto!

· 1 min
Como alcancei pontuações quase perfeitas no Google Lighthouse em um blog feito com Laravel / Filament
Tutoriais

Como alcancei pontuações quase perfeitas no Google Lighthouse em um blog feito com Laravel / Filament

Veja como consegui atingir pontuações acima de 90 no Google Lighthouse, melhorando drasticamente o desempenho dos meus sites e proporcionando uma experiência excepcional para os usuários.

· 7 min
Otimize sua aplicação Laravel com o novo Memoized Cache Driver (Laravel 12.9)
Tutoriais

Otimize sua aplicação Laravel com o novo Memoized Cache Driver (Laravel 12.9)

O Laravel 12.9 trouxe uma novidade poderosa: o Memoized Cache Driver. Essa feature otimiza o desempenho das aplicações ao armazenar em memória os valores obtidos do cache durante o tempo de execução da requisição, evitando múltiplos acessos ao cache.

· 3 min
O Poder do Método Boot em Models no Laravel
Tutoriais

O Poder do Método Boot em Models no Laravel

Neste artigo, compartilho minha experiência com o método boot em models no Laravel, uma funcionalidade poderosa e pouco explorada. Explico como ele funciona, especialmente ao integrar traits, e mostro exemplos práticos, como configurar eventos e escopos globais.

· 2 min

VirguIA

beer & code assistant

conectando…

Não foi possível iniciar o chat agora.

tocando