Files
phundrak.com-frontend/README.org

2.6 KiB
Raw Blame History

phundrak.com frontend

This is the frontend of phundrak.com, written with Nuxt.

Setup

Environment

Nix Environment

If you use Nix, you can set up your environment using the flake.nix file, which will give you the exact same development environment as I use.

nix develop

If you have direnv installed, you can simply use it to automatically enable this environment. However, I strongly recommend you to read the content of the flake.nix file before doing so, as you should with any Nix-defined environment you did not create.

direnv allow .

Required Tools

To be able to work on this project, you need a Javascript package manager, such as:

  • npm
  • pnpm (recommended)
  • yarn
  • bun

In my case, I use pnpm.

You can skip this if you are already using my Nix environment.

Dependencies

Once you have your environment ready, you can now install the projects dependencies.

# npm
npm install

# pnpm
pnpm install

# yarn
yarn install

# bun
bun install

Running the Project

You are now ready to start the development server on http://localhost:3000.

# npm
npm run dev

# pnpm
pnpm dev

# yarn
yarn dev

# bun
bun run dev

Production

Once you are satisfied with the project, you can build the application in production mode.

# npm
npm run build

# pnpm
pnpm build

# yarn
yarn build

# bun
bun run build

You can preview locally the production build too.

# npm
npm run preview

# pnpm
pnpm preview

# yarn
yarn preview

# bun
bun run preview

Check out the deployment documentation for more information.

Known Issues

better-sqlite3 self-registration error

If you encounter an error stating that better-sqlite3 does not self-register when running pnpm run dev, this is typically caused by the native module being compiled for a different Node.js version.

Solution: Rebuild the native module for your current Node.js version:

# Rebuild just better-sqlite3
pnpm rebuild better-sqlite3

# Or rebuild all native modules
pnpm rebuild

# Or reinstall everything (nuclear option)
rm -rf node_modules
pnpm install

Why this happens: better-sqlite3 contains native C++ code that needs to be compiled for each specific Node.js version. When you update Node.js or switch between versions, native modules need to be rebuilt.