Welcome to Remix!
This is a starter repo as an example to configure the project with:
- React-Testing-Library User-Event
- ESLint Plugin: Testing-Library
- ESLint Plugin: Jest-DOM
- Internally served font example.
- Error boundaries for the root and a main route example.
- SEO with Meta tags.
- Misc. structural best practices.
- Misc. quality of life and minor opinions.
If you know the target server (Netlify or Vercel for example), then see DIY.
Remember to update after cloning
yarn upgrade-interactive --latest
- Welcome to Remix!
From your terminal:
Start development server
Remix uses ESbuild and this project makes use jest.config as a module hence the
*.msj file extension. File path aliases are generated via
ts.config using a library called
To run alias-hq after updating the project structure for your purposes:
This starts your app in development mode, rebuilding assets on file changes.
First, build your app for production:
Then run the app in production mode:
Now you'll need to pick a host to deploy it to.
If you're familiar with deploying node applications, the built-in Remix app server is production-ready.
Make sure to deploy the output of
Using a Template
When you ran
npx create-remix@latest there were a few choices for hosting. You can run that again to create a new project, then copy over your
app/ folder to the new project that's pre-configured for your target server.
cd .. # create a new project, and pick a pre-configured host npx create-remix@latest cd my-new-remix-app # remove the new project's app (not the old one!) rm -rf app # copy your app over cp -R ../my-old-remix-app/app app # copy over the packet.json and yarn install
Additional / TODO
- SASS/SCSS: It is possible to setup SASS/SCSS with this project, however with CSS variables and other modern APIs, vanilla CSS is usually enough. Reference Best practices & Setting up SASS with Remix
- Optimistic UI. Remix can help you build optimistic UI with useTransition and useFetcher.
- SEO (sitemap). At the time of writing this, there is no native Remix method of generating a sitemap. There is ongoing discussion and potential options for current use here.