TanStackT
TanStack4mo ago
25 replies
popular-magenta

Using Nitro with ViteJs (Server side env undefined)

vite.config.js
import { defineConfig } from 'vite';
import { tanstackStart } from '@tanstack/react-start/plugin/vite';
import tsConfigPaths from 'vite-tsconfig-paths';
import tailwindcss from '@tailwindcss/vite';
import viteReact from '@vitejs/plugin-react';
import pkg from './package.json';
import path from 'path';
import { nitro } from 'nitro/vite';
import dotenv from "dotenv";

dotenv.config();

export default defineConfig(async () => {
  return {
    plugins: [
      tsConfigPaths({
        projects: ['./tsconfig.json'],
      }),
      tanstackStart(),
      nitro(),
      viteReact(),
      tailwindcss(),
    ],
    nitro: {
      preset: 'aws-amplify',
    },
    resolve: {
      alias: {
        '@': path.resolve(__dirname, './src'),
        '@workspace/ui': path.resolve(__dirname, '../../packages/ui/src'),
      },
    },
    define: {
      APP_VERSION: JSON.stringify(pkg.version),
    },
  };
});


server code
export const fetchAuthedSessionFn = createServerFn().handler(async () => {
  console.log('env client', import.meta.env.VITE_APP_EMPLOYER_COMPANY_KEY);
  console.log('env server', process.env.AUTH_TOKEN_KEY);

  return fetchServerSessionFn({
    data: { key: process.env.AUTH_TOKEN_KEY },
  });
});


import.meta.env.VITE_APP_EMPLOYER_COMPANY_KEY ==> works
But process.env.AUTH_TOKEN_KEY does not work

what am I doing wrong here

packages
"@tanstack/react-start": "1.132.56"
"vite": "^7.1.1"
"nitro": "3.0.1-alpha.0"
Was this page helpful?