Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jrestall/remix-kit

remix development, streamlined
https://github.com/jrestall/remix-kit

build-tool dev-server frontend remix remix-run vite

Last synced: about 1 month ago
JSON representation

remix development, streamlined

Awesome Lists containing this project

README

        





RemixKit



Remix development, streamlined with Vite.



An alternative dev server and compiler for the awesome Remix web framework.





### Setup

```shell
> cd ./your-remix-app
> npx remix-kit@latest install

> npm run vite:dev
```

Please see the [status](#status) section and [getting started](./docs/getting_started.md) guide for details.

### Features

- [Hot Module Replacement (HMR)](https://vitejs.dev/guide/features.html#hot-module-replacement) for **instant, precise updates** on the browser and server without reloading the page or blowing away application state.
- Instant development server startup, **no pre-bundling required**, scales to any project size.
- [Vite](https://vitejs.dev/) for development and build bundling. Includes [vite-node](https://github.com/vitest-dev/vitest/tree/main/packages/vite-node) for extremely fast targeted server code replacement. No purgeRequireCache needed, keep objects in-memory between requests to match production behavior.
- Fully **configurable** & easily **extensible**
- An extensible compiler and hooks system gives you complete control.
- Use [hooks](packages/remix-schema/src/types/hooks.ts) from your own `plugin modules` to extend any part of the build process.
- Benefit from the large ecosystem of vite plugins.
- Easy to use CLI `remix-kit` for development, build, previews and more.
- **Seamless integration** of Tailwind CSS with PostCSS. No need for multiple CLIs.
- View **library agnostic**, with existing plugin for [React](https://reactjs.org/).
- Monorepo support, place your routes in libraries outside the main app to better separate your functionality amongst teams.
- Integrated dotenv, bundle analysis, hierarchy based `remix.config.js`, file ignore with `.remixignore` and much more!



### Status

**(Alpha)** Use to streamline your development but not recommended for production bundling use. Please help test and it can get there though.

Legend: ✅ (Tested),❓ (Untested), ⏳ (Not Supported)
| Remix Template | Status | Install Notes |
| :----------------------------------------: | :----: | :--------------|
| [Remix App Server](https://github.com/remix-run/remix/tree/main/templates/remix) | ✅ | No changes required after install. Use the default `remix-kit preview` for the dev:server.
| [Express](https://github.com/remix-run/remix/tree/main/templates/express) | ✅ | Rename the `dev:node` npm script to `dev:server` and delete the duplicate `dev:server` script. Add a `require(BUILD_DIR);` in the app.listen callback otherwise the first request will fail due to the dev client asynchronously initializing.
| [Fly](https://github.com/remix-run/remix/tree/main/templates/fly) | ❓ |
| [Netlify](https://github.com/remix-run/remix/tree/main/templates/netlify) | ❓ |
| [Vercel](https://github.com/remix-run/remix/tree/main/templates/vercel) | ❓ |
| [Deno](https://github.com/remix-run/remix/tree/main/templates/deno) | ❓ |
| [Cloudflare Workers](https://github.com/remix-run/remix/tree/main/templates/cloudflare-workers) | ⏳ |
| [Cloudflare Pages](https://github.com/remix-run/remix/tree/main/templates/cloudflare-pages) | ⏳ |

### Packages

| Package | Changelog |
| ------------------------------------------ | ----------------------------------------------- |
| [remix-kit](packages/remix-cli) | [Changelog](packages/remix-cli/CHANGELOG.md) |
| [@remix-kit/kit](packages/remix-kit) | [Changelog](packages/remix-kit/CHANGELOG.md) |
| [@remix-kit/react](packages/remix-react) | [Changelog](packages/remix-react/CHANGELOG.md) |
| [@remix-kit/schema](packages/remix-schema) | [Changelog](packages/remix-schema/CHANGELOG.md) |
| [@remix-kit/vite](packages/remix-vite) | [Changelog](packages/remix-vite/CHANGELOG.md) |

## Contributing

See [CONTRIBUTING.md](./CONTRIBUTING.md) for information on how to develop RemixKit locally.

## Supporting RemixKit

RemixKit is an MIT-licensed open source project with its ongoing development made possible entirely by volunteer time. If you'd like to support this effort, please consider [sponsoring](https://github.com/sponsors/jrestall).

## Credit

This project was bootstrapped using code from [Nuxt](https://github.com/nuxt). Their MIT license can be found [here](./COPYRIGHTS.md) and [here](./LICENSE). In addition it benefits greatly from a large number of libraries from the [UnJS](https://github.com/unjs) ecosystem. [Vite](https://vitejs.dev/) and [vite-node](https://github.com/vitest-dev/vitest/tree/main/packages/vite-node#readme) provide most of the core functionality and their usage is based on the approach pioneered by [@pi0](https://github.com/pi0) and described in detail by [@antfu](https://github.com/antfu) at [antfu.me](https://antfu.me/posts/dev-ssr-on-nuxt#approach-3-vite-node).

## License

[MIT](https://github.com/sveltejs/kit/blob/master/LICENSE)