v0.17.0
0.17.0 / 2017-06-17
Breaking Changes
-
Now using Webpack Dev Server (instead of running a basic Express development server).
Webpack Dev Server has security features which you may need to configure your way around if you're using
--host
or if your development setup involves hitting the dev server from a different host.Please create an issue if you're affected by this change and there's something nwb can do to mitigate dev server problems without compromising security.
React components/libraries
- A
--[keep-]proptypes
flag replaces--no[-wrap]-proptypes
to disable wrapping ofpropTypes
in React component project builds so they'll be stripped from a production build.
Fixed
- The process will now exit with a non-zero code when a Webpack build completes with errors [#290]
- Fixed transpiling of ES2017 features when use of a stage-X preset is disabled with
babel.stage = false
config. - Fixed
hmre = false
Express middleware option for disabling use of React Transform to attempt to handle Hot Module Reloading for React components andrender()
error display [#263]
Preact
- Fixed importing React components when serving a Preact app - this was missed when fixing
preact-compat
configuration issues from v0.16.0.
Added
Arguments
- Added a
--no-clear[-console]
flag to disable clearing of the console when running the dev server. - Added a
--no-html
flag to disable creation of anindex.html
file if you don't need one (e.g. you're serving your built apps via another means) [#278] [bwendt-mylo]
Commands
- Added an
nwb web (run|build)
command for quick development with vanilla JavaScript (i.e. you're in charge of rendering).
Configuration
- Added
devServer
config to configure Webpack Dev Server options, which include:devServer.historyApiFallback.disableDotRule
can be enabled if you need to use dots in your path when using the HTML5 History APIdevServer.https
can be used to enable HTTPSdevServer.proxy
can be used to proxy certain URLs to a separate API backend development server
- Added a
type
option to nwb's Express middleware to set the project type (one ofreact
,preact
,inferno
orweb
) manually, enabling use of the middleware without a config file.
React
- Added
babel.removePropTypes
config to disable or configure removal ofpropTypes
in React app production builds. - Added
babel.reactConstantElements
config to disable the use of the React constant element hoisting transform in React app production builds.
Changed
npm modules
- Default Babel config for
react-component
andweb-module
projects now usesbabel-preset-stage-1
, so you can use export extensions by default if you need to re-export a library's modules insrc/index.js
[#284] - Default Travis CI config for
react-component
andweb-module
projects now only uses Node 6 by default for quicker builds.
Preact
-
preact/devtools
is now imported in development mode to enable use of React Developer Tools when usingnwb preact run
. This has also been added to thepreact-app
template.For existing Preact apps, add the following to its entry point to enable this:
if (process.env.NODE_ENV === 'development') { require('preact/devtools') }
React components/libraries
prop-types
imports are now also removed from React component UMD production builds.
Documentation
- Document the
--copy-files
flag properly [#317]
Dependencies
- babel-core: v6.24.1 → v6.25.0
- babel-plugin-transform-react-remove-prop-types: v0.4.5 → v0.4.6 - fix use in Node 4
- babel-preset-es2017: v6.24.1
- detect-port: v1.1.3 → v1.2.1
- extract-text-webpack-plugin: v2.1.0 → v2.1.2
- file-loader: v0.11.1 → v0.11.2 -
publicPath
option changes - inquirer: v3.0.6 → v3.1.0
- ora: v1.2.0 → v1.3.0
- postcss-loader: v2.0.5 → v2.0.6
- promise: v7.1.1 → v7.3.0
- style-loader: v0.18.1 → v0.18.2
- url-loader: v0.5.8 → v0.5.9
- webpack-dev-server: v2.4.5