IntroductionGetting StartedRoutingCSS & StylingPublic ResourcesPage Metadata (head)Internationalization (i18n)Server Side RenderingAPICommand Line InterfaceBuild time parametersChangelog0.35.0 (2021-03-08)0.34.0 (2021-01-05)0.33.0 (2020-07-16)0.32.0 (2020-04-15)0.31.0 (2020-03-12)0.30.0 (2020-02-19)0.29.0 (2019-11-16)0.28.0 (2019-11-08)0.27.0 (2019-10-24)0.26.0 (2019-08-06)0.25.0 (2019-07-09)0.24.0 (2019-06-18)0.23.0 (2019-06-14)0.22.0 (2019-05-28)0.21.0 (2019-05-27)0.20.0 (2019-04-26)0.19.0 (2019-04-23)0.18.0 (2019-04-23)0.17.0 (2019-02-11)0.16.0 (2019-02-07)0.15.0 (2019-01-08)0.14.0 (2018-06-12)0.13.0 (2018-05-09)0.12.0 (2018-04-18)0.11.0 (2018-04-11)LicensePwa
JavaScript flavors
Advanced Topics
Changelog
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
0.35.3 (2021-04-30)
Bug Fixes
- disable warning about loose private methods (a2daa1d)
- don't pass images loaded with ?url to image-webpack-loader (ce345f1)
0.35.2 (2021-04-27)
Features
- allow loading any file with 'import' as url or raw by adding ?raw or ?url (b82d22d)
0.35.1 (2021-04-19)
Features
- update asset loading & allow loading .md files (431877b)
0.35.0 (2021-03-08)
⚠ BREAKING CHANGES
- Due to moving away from babel-plugin-react-intl-auto, using strings in defineMessages instead of an object is not supported. You can add babel-plugin-react-intl-auto back to your local babel config to restore previous behavior.
Features
- disable hot reloading until issues have been resolved (527d4b1)
- replace babel-plugin-react-intl-auto with babel-plugin-formatjs (64ff650)
Bug Fixes
- return to style-loader during dev & disable sri (fad902a)
0.34.9 (2021-02-02)
Features
- mute InjectManifest in watch (4dda53c)
0.34.8 (2021-01-19)
Bug Fixes
- revert service worker file name so old versions can still update (679d3db)
0.34.7 (2021-01-19)
Bug Fixes
- don't register serviceWorker if not supported (763f3ca)
0.34.6 (2021-01-13)
Features
- disable warning spam from mini-css-extract-plugin (df68928)
0.34.5 (2021-01-08)
Features
- disable workbox cache in development (39433c9)
Bug Fixes
- copy dotfiles from /public (9a42454)
- prevent watch mode crash when accessing path other than / (c1f0f5c)
0.34.0 (2021-01-05)
Features
- add new CSS class ident generator (dev) (51317ba)
- replace offline-plugin with workbox (f88f864)
- update dependencies (2619157)
- update to webpack 5 (93a384a)
0.33.3 (2020-11-09)
Features
- add option to disable subresource integrity (5b74257)
0.33.2 (2020-08-31)
⚠ BREAKING CHANGES
- server-side rendering requires node 12+
Features
- html - add integrity hashes in production (adaea1e)
- rjs init - print message hinting at next step (1d4faa7)
- update default lintstaged to include ts & remove git add (784eec8)
- update intl polyfills (2229ac7)
Bug Fixes
- fix how intl polyfills are imported (33ac3cb)
- send error page if initial build failed instead of crashing (da6af5b)
- update hapi/accept (c8410a3)
0.33.1 (2020-08-05)
Features
- replace react-hot with react-refresh 🎉 (b2f1b5f)
0.33.0 (2020-07-16)
⚠ BREAKING CHANGES
- sass is now using dart-sass
Features
- update dependencies (171a5c0)
Bug Fixes
- install sass instead of dart-sass (4eb97ab)
0.32.2 (2020-04-23)
Bug Fixes
- fix intl-plural-rules polyfill not loading locales (446177b)
0.32.1 (2020-04-23)
Bug Fixes
- make globalThis ponyfill work in safari (f3f6854)
0.32.0 (2020-04-15)
⚠ BREAKING CHANGES
- react-intl has been upgraded to v4, you might have to update your messages
Features
- add dev 404 route (a07a742)
- include wrapped comp name in withContext name (91e2e13)
- load ts route files by default (ada189f)
Bug Fixes
- fix how dev 404 route is loaded (1457794)
- update dependencies (d8ed1aa)
0.31.1 (2020-03-18)
Features
- css classes are now minified instead of hashed in production (b82c9c4)
0.31.0 (2020-03-12)
⚠ BREAKING CHANGES
- Framework now requires a minimum of Safari 10.3, as the base "Intl" object is no longer polyfilled
Features
- drop
Intl
polyfill, polyfill ListFormat & Unit Number Format (344742e)
0.30.0 (2020-02-19)
Features
- replace HashHistory with BrowserHistory with hash prefix (7be8b00)
Bug Fixes
- attempt correcting location in hash routing (3c8e766)
- hash - fix hash router breaking if there is a search query (41ad219)
- hash routing - clean url through
history
(e35a9a6)
0.29.5 (2020-02-10)
Features
- replace style-loader with extract-css-plugin in development (6009bcd)
0.29.4 (2020-01-20)
Features
- expose API to know if a new SW has been installed (c5b47c5)
0.29.3 (2019-12-03)
Bug Fixes
- properly dispatch service-worker lifecycle events (8a91712)
- replace intl-pluralrules with formatjs as the former is buggy (dae6b40)
0.29.2 (2019-11-20)
Bug Fixes
- fix helmet data being discarded in ssr (906a4dc)
0.29.1 (2019-11-20)
Features
- add new getPluginInstance API (22db85e)
- expose service worker events (28ad2fd)
- reduce logging spam, add webpackbar (b697d12)
- replace react-helmet with react-helmet-async (161bee1)
- update react-hot-loader (9839f2e)
0.29.0 (2019-11-16)
⚠ BREAKING CHANGES
- usage of
--prerendering
flag must be changed to--ssr
- you will now need either move the files to a subfolder or adapt references to public resources
Features
- allow js webpack type to be extended by plugins (6af9698)
- always purge unused react-intl polyfills & add relativetime (9c226bc)
- copy files from resource directory to root of dist (6cab5b7)
- default lint-staged now autofixes (d0fd508)
- expose APIs to access react-router context & set http status (f154214)
- parse typescript as javascript files (78ef8b9)
- rename prerendering -> ssr (7ead843)
Bug Fixes
- accept extra args in build (e78e0f8)
0.28.1 (2019-11-08)
Bug Fixes
- fix husky init crash (3cc6744)
0.28.0 (2019-11-08)
Features
- improve & update rjs init (0474666)
Bug Fixes
0.27.0 (2019-10-24)
Features
- drop srcset-loader as it is dead (ab4e1ea)
⚠ BREAKING CHANGES
- Any usage of srcset-loader will need to be updated
0.26.0 (2019-08-06)
Features
- update react-intl to 3.x.x & remove react-intl workaround (d870528)
0.25.2 (2019-08-02)
Bug Fixes
- remove @reworkjs/redux from externals (08e5f40)
0.25.1 (2019-07-12)
Bug Fixes
- force app refresh after intl change (24c15f2)
- minify css in production (c298003)
- resolve webpack deprecation warnings (29f1908)
Features
- enable "removeAvailableModules" webpack opti (31b30b2)
0.25.0 (2019-07-09)
Bug Fixes
- create new Chalk instance using Chalk.constructor (4815551)
- fix init ignoring errors (5e2f06b)
- lazy load server-hooks (30036ce)
- make babel cache env & side aware (b5e1b3e)
0.24.1 (2019-07-03)
Bug Fixes
- fix useLocation having undefined in its url (9084cd5)
0.24.0 (2019-06-18)
Bug Fixes
- resolve adhoc hook based on config file directory (4bd941a)
Features
0.23.0 (2019-06-14)
Bug Fixes
- don't inject babel-runtime inside of core-js (833b3c7)
- replace WebpackClean with CleanWebpack (d9021f5), closes #55
Features
- add config option to use the react-router HashRouter (840a185)
- allow people to define a custom path to the configuration file (5f5b98f)
- validate configuration using Joi (9eb9c65)
⚠ BREAKING CHANGES
- default config file is now
<project_dir>/.reworkrc
- relative files & directories specified in config file are now relative to folder containing the config file.
0.22.0 (2019-05-28)
Bug Fixes
- make exported hooks use non-ssr version by default (79ededf)
0.21.0 (2019-05-27)
Bug Fixes
- make server-side use /lib to avoid esm in modules (4f607e3)
- prevent dev SSR server from crashing if front is ready before back-end (ebed78c)
- prevent server from crashing in dev mode if an exception occurs during build (48a64c2)
Features
- add experimental SSR resource loading (bb34439)
- add support for @loadable (6b2cbcb)
- add usePersistentValue (472813c)
- load .browser.ext over .ext on browser, .server.ext on server if present (422af5e)
- make use-location return URL & cause re-render on change (40b23c8)
0.20.2 (2019-05-13)
Bug Fixes
- prevent lodash feature from using babel.config.js when compiling node_modules (c57cb87)
0.20.1 (2019-05-07)
Bug Fixes
- disable using babel.config.js as we load it manually (b336ba0)
0.20.0 (2019-04-26)
Bug Fixes
- don't parse node_modules with remove-prop-types (9ce4429)
Features
- add ssr ready use-dnt, use-user-agent, use-location (5c808c2)
- expose request and response through context when in SSR (8225d26)
- remove compression (8a76d19)
- replace uglify with terser & update deps (1537111)
0.19.0 (2019-04-23)
Features
- replace with-context-consumer with with-context (59600f1)
0.18.0 (2019-04-23)
Bug Fixes
- babel presets - use NODE_ENV if BABEL_ENV is not set (2198063)
- cancel redirect if same url, fix redirect crashing (b60b536)
- make "server" build use /lib instead of /es (adae823)
Features
- remove "webpack" from build folder name (33d4c28)
0.17.4 (2019-03-05)
Bug Fixes
- don't resolve main-component so webpack is the one resolving files (04a33c1)
- remove .react.js from special file extension (.js is enough) (798d10a)
0.17.3 (2019-02-22)
Bug Fixes
- update dependencies & remove explicit regeneratorRuntime (b40e61f)
0.17.2 (2019-02-12)
Bug Fixes
- stringify argv so webpack can replace it in built files (29dae67)
0.17.1 (2019-02-12)
Bug Fixes
- make @reworkjs/core/argv work on node processes (018cfc1)
0.17.0 (2019-02-11)
Bug Fixes
Features
- remove eslint-loader (220423f)
0.16.0 (2019-02-07)
Bug Fixes
- disable css-loader minimize, move to postcss (c501eed)
Features
- remove build-in ngrok support (3f05ca2)
- remove intl locales not matching available translations (06e1f1a)
⚠ BREAKING CHANGES
- use ngrok externally
0.15.1 (2019-01-08)
Bug Fixes
- config: fix setting react-entry crashing the app (bebefa4)
0.15.0 (2019-01-08)
Bug Fixes
- fix crash when persisting locale in cookies (278abbb)
- Store prefered locale on change (a348e8d)
- babel: do not run react preset on node_modules (b912832)
- babel: fix crashes related to babel update (deca477)
- locale: enable react-intl locale after it has been loaded (5ef4818)
- react-intl: create locale alias when framework finds one that does not exist in react-intl (0f1e5c8)
- route: add key to top level routes (2d7e693)
Features
- allow plugins to hook client and server rendering (d6c2eb0)
- completely replace redux with new plugin system (1170ddf)
- expose singleton instance on plugins (5dc23ed)
- hydrate react tree if its container has content, render otherwise (776ef82)
- move public modules from index.js to individual sub-modules (05d241b)
- Prevent ReworkJsWrapper from generating a new Div (20231ba)
- Remove all usages of Redux (will add them through plugins) (2566067)
- update to react-router v4 (61d0860)
- babel: update to babel 7, update hot reload system, transpile node_modules (stable only) (c489349)
- i18n: make translations local to a single react tree (921dec8)
0.14.1 (2018-08-09)
Bug Fixes
- make get-translations node mock work on non-unix filesystems (a4424b3)
0.14.0 (2018-06-12)
Bug Fixes
- Fix crash when loading a project without an existing configuration file (48aaf40)
- Make render-html & pre-init optional (81c5cf2)
Features
- Add a way to append a script to the service worker (5baeb49)
0.13.0 (2018-05-09)
Bug Fixes
- Compress CSS files with gzip (572b59f)
- Fix sending a corrupted response when trying to access a precompressed resource with a query parameter (0d9ca5d)
- Make SW cache root route (5c77e0e)
- Make the built server able to run from a different directory than the one it was built in (4f1480c)
- only import framework-config in bundle in development mode (fc2c95e)
- Use log directory to store app logs instead of build directory (cb6837d)
Features
- Add brotli pre-compress support (c43844b)
0.12.0 (2018-04-18)
Bug Fixes
- Disable removeAvailableModules in development (c7ec6ee)
- Disable webp minification (2832d19)
- Fix injecting cookies into BaseHelmet when building the app (faefd8d)
Features
- Disable eslint by default (f1f9e4b)
⚠ BREAKING CHANGES
- Enable eslint using --features=eslint
0.11.0 (2018-04-11)
Bug Fixes
- Bump required webpack-bundle-analyzer version to solve issue with concat modules (de8494a)
- Don't ss-render context style tags in production (d9f28b2)
- Fix app builder crashing in watch mode when initial build failed and an user tries to access it (fa274bb)
- Fix react not being able to display errors due to cross-origin issues (49dfbcb)
- Fix server-side loading of CSS (fd27864)
- Launch pre-rendering server on correct port in prod (38003c3)
- Make render-html config entry work with SSR (d9c5a73)
- Migrate optimization plugins to webpack.optimization (bd8152d)
- Only pre-render CSS as
<style>
tags in development (71ce71b) - Only pre-serve named bundles for reliability (7d4f6ae)
- Optimize images on the server too so their hash is identical to the front-end (8a6af49)
- Prevent passing webp files to file-loader twice (c072796)
- Remove --no-prerendering warning as prerendering is now off by default (a605987)
- Replace deprecated webpack.optimize.UglifyJsPlugin with uglifyjs-webpack-plugin (f0eac80)
- Set lang html attribute to loaded language (f64c6b2)
Features
- Add support for loading .mjs files (2c80a58)
- Add support for webp (06843a5)
- Don't generate chunk names in splitChunks for long term caching (fa82439)
- CSS is now split per chunk (43554a3)
- webpack: Pass WebP to imagemin, configure mozjpeg&gifsicle (1660ad3)
- Update dependencies (a4265af)
- Update peer dependencies (32646bb)
- Migrate to React 16.3.1
⚠ Breaking Changes
- Drop support for node < latest LTS (= 8) (80b76be)