Remix vite UNRESOLVED_IMPORT

I’m migrating a remix project from esbuild to vite.

It’s giving roll up error as shown in the pic.

The issue is in referencing the files.
This relative (dot) import doesn’t work.

import { DataContextAppLayout } from "./components/Layout/DataContextAppLayout";

However, this ~ import works.

import { DataContextAppLayout } from "~/components/Layout/DataContextAppLayout";

I have 500+ files, really don’t wanna change how I import. How do I make the relative imports work?
It builds fine locally, even with vercel build but doesn’t work when deployed to vercel.

Packages:

        "vite": "^5.3.1",
        "vite-tsconfig-paths": "^4.3.2"
        "node": ">=18.0.0"
        "@remix-run/dev": "^2.15.1",
        "@remix-run/node": "^2.15.1",
...

vite.config.ts

import { vitePlugin as remix } from "@remix-run/dev";
import { installGlobals } from "@remix-run/node";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";

installGlobals();

export default defineConfig({
	plugins: [remix(), tsconfigPaths()],
	ssr: {
		noExternal: [/^d3.*$/, /^@nivo.*$/],
	},
});

tsconfig.json

{
	"include": [
		"**/*.ts",
		"**/*.tsx",
		"**/.server/**/*.ts",
		"**/.server/**/*.tsx",
		"**/.client/**/*.ts",
		"**/.client/**/*.tsx"
	],
	"compilerOptions": {
		"lib": ["DOM", "DOM.Iterable", "ES2022"],
		"types": ["@remix-run/node", "vite/client"],
		"isolatedModules": true,
		"esModuleInterop": true,
		"jsx": "react-jsx",
		"module": "ESNext",
		"moduleResolution": "Bundler",
		"resolveJsonModule": true,
		"target": "ES2022",
		"strict": true,
		"allowJs": true,
		"skipLibCheck": true,
		"forceConsistentCasingInFileNames": true,
		"baseUrl": ".",
		"paths": {
			"~/*": ["./app/*"]
		},

		// Vite takes care of building everything, not tsc.
		"noEmit": true
	}
}

The same packages and config are working fine for another project so I don’t know how to recreate it.
This is the template I’m using for both the working one and the not working one. I haven’t made any changes to entry files or any other files.
I’d appreciate any help in resolving the issue.

Hi, @haise17! Welcome to the Vercel Community :smile:

I tried deploying our Remix template and it worked fine. Are you still seeing this issue?