v1.0.0-rc.0
Time to roll out our first Release Candidate 🎉🎉
Highlights
[BREAKING] Webpack 4
Haul was upgraded to the latest Webpack version. If you extended the default Haul configuration in any way, your builds may fail. That's why we mark it as a breaking change. This is also the primary reason why we entered Release Candidate phase – we don't want to break anything between our Betas (which are still running Webpack 3 and will not be actively maintained anymore – only bugfixes).
New UI 💅
To provide better developer experience, we've changed how the UI for start
command looks like, to make it fabulous while remaining clean and minimalistic. For that we actually use React thanks to react-slate
- the UI is a React app!
Node workers and lazy loading 🤖
To make development for both platforms more seamless, the way we build bundles have changed - now we do it in a separate process for each platform. This means that when running start
command not only bundles are lazily loaded but also you can dynamically request bundle for another platform without stopping the server and starting haul with different --platform
options. Which brings us to: there's no haul start --platform
option anymore, just run haul start
. You can still run --platform
with bundle
command.
New configuration style ⚙
In this version, we have introduced a new configuration style via haul.config.js
file. With this approach, we hope you will find configuration (and eventual partial sharing) of Webpack config more convenient. Don't worry, you can run in legacy mode if you want and everything will work as usual. With this version of Haul, you can also run without any configuration file at all. Haul will seek for entry file (in package.json) and will try to serve your application from it.
Check the example of configuration bellow and for more complex use-cases check out or documentation.
// haul.config.js
import { createWebpackConfig } from 'haul';
export default {
webpack: createWebpackConfig({
entry: `./index.js`,
}),
};
Breaking Changes
Fixes
- b8ba6e2 - Upgrade babel-loader, thread-loader to fix peer dep warnings, allow 3.x.x and 4.x.x babel-preset-react-native (#406) (Daniel Playfair Cal)
- 7568948 - fix cannot get debugger-ui page (#395) (Evgeny Zaytsev)
- ea6af54 - fix: remove escape characters around $@ in Xcode script (#399) (Nadia Dillon)
- 83377b4 - Explicitly transpile
metro
dependency (fixes #400) (Kir Belevich) - dcde6e3 - Fixing Haste module resolution when react-native is symlinked (#397) (Chase Holland)
- 54cd2d4 - Fix
scriptUrl
match for production build (#363) (Luke Czyszczonik) - bd5190d - fix(install): add core-js as an explicit dependency for npm users (#357) (Travis Nuttall)
Features & Improvements
- 9a1465a - Update polyfills to sync with latest RN (#414) (Michał Pierzchała)
- 0f71323 - Better Dev UX 🍝 (#413) (Jakub Beneš)
- 7e2d713 - Better browser luncher 🌎 (#409) (Jakub Beneš)
- 9016ddb - Seek for the deprecated config file 🔎 (#408) (Jakub Beneš)
- 1d66e21 - Inform user that compiler uses ZERO-CONFIGURATION 🚀mode (#407) (Jakub Beneš)
- 248dfab - Implement new config with haul.config.js (#372) (Jakub Beneš)
- d74de3f - Use node workers to compile bundles (#339) (Krzysztof Borowy)
- 6f65f0c - Remove Haste references from polyfillEnvironment (#393) (Ryan Dy)
- 400ab44 - Properly resolve dev server origin (#387) (Paweł Trysła)
- 7a12370 - support bundle files without "index" in the name (#358) (Travis Nuttall)
- c6a8570 - Update contributor list (#364) (Luke Czyszczonik)
- 27e9d97 - Bump flow (#360) (Paweł Trysła)
- 172c93a - Added more asset types (#347) (Giau Tran Minh)
Chores & Docs
- 95ade60 - Base website setup with Docusaurus (#374) (Ryan Stelly)
- eb73e64 - Add image asset to example-app (8 days ago) (Michał Pierzchała)
- edeced9 - Update docs for running example-app with Xcode (#365) (Luke Czyszczonik)
- abdd5b6 - switch to Yarn when running package's scripts (#361) (Paweł Trysła)
- 142c050 - chore(example): Update example-app to RN 0.53.0 (#359) (Luke Czyszczonik)
- 8b8649f - Use Jest 22.2.1 (3 months ago) (Michał Pierzchała)
- 7ee324c - chore: Upgrade Jest to v22.2.0 (3 months ago) (Michał Pierzchała)
- 9f9e101 - chore: mention automatic config setup with Gradle (#348) (Michał Pierzchała)
If you spot any problem or bug with this release, please file an appropriate issue (ideally with a repro we can debug)!