qix
v2.2.3
Published
Native Desktop App development with modern ES6 javascript (qt5, qml, qtquick)
Downloads
9
Readme
Haul is a drop-in replacement for react-native
CLI built on open tools like Webpack. It can act as a development server or bundle your React Native app for production.
Features
- Replaces React Native packager to bundle your app
- Access to full webpack ecosystem, using additonal loaders and plugins is simple
- Doesn't need watchman, symlinks work nicely
- Helpful and easy to understand error messages
- Hot Module Reloading
Getting started
Start by adding Haul as a dependency to your React Native project (use react-native init MyProject
to create one if you don't have a project):
yarn add --dev haul
If you're on a React Native version >= 0.43, add the following in android/app/build.gradle
somewhere before the apply from: "../../node_modules/react-native/react.gradle"
statement:
project.ext.react = [
cliPath: "node_modules/haul/bin/cli.js"
]
To configure your project to use haul, run the following:
yarn haul init
This will automatically add the configuration needed to make Haul work with your app, e.g. add webpack.haul.js
to your project, which you can customise to add more functionality.
Next, you're ready to start the development server:
yarn haul start -- --platform ios
Finally, reload your app to update the bundle or run your app just like you normally would:
react-native run-ios
Documentation
Check out the docs to learn more about available commands and tips on customizing the webpack configuration.
Hot Module Replacement
Please refer to the Setup guide.
Limitations
Haul uses a completely different architecture from React Native packager, which means there are some things which don't work quite the same.
We are actively working on adding support for the following:
- Existing
react-native
commands
The following features are unlikely to be supported in the future:
- Haste module system: use something like babel-plugin-module-resolver instead
- Transpile files under
node_modules
: transpile your modules before publishing, or configure webpack not to ignore them
Contributors
Thanks goes to these wonderful people (emoji key):
| Mike Grabowski💬 💻 🎨 📖 💡 🤔 👀 | Satyajit Sahoo💬 💻 🎨 🤔 👀 | Paweł Trysła💬 🐛 💻 📖 💡 🤔 | Krzysztof Borowy💬 🐛 💻 🤔 | Michał Pierzchała💻 🤔 ⚠️ | Steve Kellock💻 | Mathieu Dutour💻 | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | Orta📖 | Yann Pringault💻 📖 | Drapich Piotr💻 📖 | Júlio César🐛 💻 | LiJung Chi💻 | spypsy💻 | Juwan Wheatley📖 | | Jeremi Stadler📖 | David Sheldrick💻 | Miguel Oller🐛 💻 | Krzysztof Karol💻 | Jakub Stasiak💻 | Ferran Negre🐛 💻 | CL123123📖 | | Marty Penner📖 | Jim Cummins📖 | Gant Laborde📖 | Paweł Burniak📖 | bsnelder💻 | aivæn💻 | Nemanja Stojanovic💻 | | bogdanbolchis📖 | Joe Arasin🐛 💻 | Norbert de Langen📖 | Gustav Wengel📖 | Eric Wooley🐛 💻 | Matt Cubitt🐛 💻 | Jakub Beneš💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!