This repository contains a fully-working monorepo using nx
and contemporary Remix using vite
.
The nx plugin for Remix should now fully work out-of-the-box.
What this repo shows fully working:
- remix application
- library
- import resolution across library and application
- hot module reloading across library and application
- e2e tests with Playwright
- GitHub action to build everything
This is a basic working example, some further tweaks for prettier, eslint, commit-lint husky and so on may still be desirable.
Also, this is a minimal Remix application, adding Express instead of remix-serve and other changes may also desirable.
To test everything is working locally:
nx affected -t --skip-nx-cache lint test build e2e
To run the local server, this command will work, but there are also other ways:
npx x run my-remix-app:dev
✨ Your new, shiny Nx workspace is almost ready ✨.
Learn more about this workspace setup and its capabilities or run npx nx graph
to visually explore what was created. Now, let's get you up to speed!
Click here to finish setting up your workspace!
To run the dev server for your app, use:
npx nx serve my-remix-app
To create a production bundle:
npx nx build my-remix-app
To see all available targets to run for a project, run:
npx nx show project my-remix-app
These targets are either inferred automatically or defined in the project.json
or package.json
files.
More about running tasks in the docs »
While you could add new projects to your workspace manually, you might want to leverage Nx plugins and their code generation feature.
Use the plugin's generator to create new projects.
To generate a new application, use:
npx nx g @nx/remix:app demo
To generate a new library, use:
npx nx g @nx/react:lib mylib
You can use npx nx list
to get a list of installed plugins. Then, run npx nx list <plugin-name>
to learn about more specific capabilities of a particular plugin. Alternatively, install Nx Console to browse plugins and generators in your IDE.
Learn more about Nx plugins » | Browse the plugin registry »
Nx Console is an editor extension that enriches your developer experience. It lets you run tasks, generate code, and improves code autocompletion in your IDE. It is available for VSCode and IntelliJ.
Learn more:
- Learn more about this workspace setup
- Learn about Nx on CI
- Releasing Packages with Nx release
- What are Nx plugins?
And join the Nx community: