npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

amplify-adapter-tanstack-start

v1.0.0

Published

A starter for creating a TypeScript package.

Readme

AWS Amplify TanStack Start Adapter

This package contains the AWS Amplify TanStack Start Adapter.

Install

npm add aws-amplify amplify-adapter-tanstack-start

Usage

Configure Amplify in TanStack Start

Configure Amplify for server-side usage

You will need to create a runWithAmplifyServerContext function to use Amplify APIs on the server-side of your TanStack Start app.

You can create an amplifyServerUtils.ts file under a lib folder in your codebase. In this file, you will import the Amplify backend outputs from the amplify_outputs.json file that is generated by Amplify, and use the createServerRunner function to create the runWithAmplifyServerContext function.

For example, the lib/amplifyServerUtils.ts file may contain the following content:

import { createServerRunner } from "amplify-adapter-tanstack-start";
import outputs from "../amplify_outputs.json";

export const { runWithAmplifyServerContext } = createServerRunner({
  config: outputs,
});

Generate the Data client for TanStack Start server runtimes

You can create an amplify-ssr-client.ts file under a lib folder in your codebase. In this file, you will import the Amplify backend outputs and use the generateClient function imported from aws-amplify/api/server module to create the data client.

For example, the lib/amplify-ssr-client.ts file may contain the following content:

import type { Schema } from "amplify/data/resource";
import { parseAmplifyConfig } from "aws-amplify/utils";
import { generateClient } from "aws-amplify/api/server";
import config from "../amplify_outputs.json";

const amplifyConfig = parseAmplifyConfig(config);
export const client = generateClient<Schema>({
  config: amplifyConfig,
});

Configure Amplify for client-side usage

When you use the Amplify library on the client-side of your TanStack Start app, you will need to configure Amplify by calling Amplify.configure as you would in a single-page application.

Note: You will need to set ssr to true when calling Amplify.configure. This instructs the Amplify library to store tokens in the cookie store of a browser. Cookies will be sent along with requests to your TanStack Start server for authentication.

import outputs from "../amplify_outputs.json";
import { Amplify } from "aws-amplify";

Amplify.configure(outputs, {
  ssr: true, // required when using Amplify with TanStack Start SSR
});

Calling Amplify category APIs on the server side

In TanStack Start, server-side Amplify API calls must be made inside a createServerFn handler, where the request context is automatically managed by the TanStack Start runtime.

Create a server function using createServerFn and call runWithAmplifyServerContext inside the handler:

// app/routes/index.tsx
import { createFileRoute } from "@tanstack/react-router";
import { createServerFn } from "@tanstack/start";
import { runWithAmplifyServerContext } from "~/lib/amplifyServerUtils";
import { client } from "~/lib/amplify-ssr-client";

const fetchTodos = createServerFn().handler(async () => {
  const { data: todos, errors } = await runWithAmplifyServerContext({
    operation: (contextSpec) => client.models.Todo.list(contextSpec),
  });
  return {
    todos,
    error: errors?.map((e) => e.message).join(", "),
  };
});

export const Route = createFileRoute("/")({
  loader: () => fetchTodos(),
  component: Home,
});

function Home() {
  const { todos } = Route.useLoaderData();
  return (
    <div>
      <h1>Todo List</h1>
      <ul>
        {todos?.map((todo) => (
          <li key={todo.id}>{todo.content}</li>
        ))}
      </ul>
    </div>
  );
}