Releases: insin/nwb
v0.17.3
v0.17.2
0.17.2 / 2017-07-04
Fixed
Backported fixes from 0.18:
- Fixed display of user config errors when running the development server.
- Fixed clearing the console by default when running the development server.
- Quick build command config was being created before the default
NODE_ENV = production
was applied, so output filenames didn't include a chunkhash by default. - Fixed config validation error when running the development server and using
webpack.styles
config for custom preprocessor plugin rules.
v0.18.3
v0.18.2
v0.18.1
v0.18.0
0.18.0 / 2017-06-20
Breaking Changes
-
Updated to Webpack 3 - potentially breaking for some plugins [#326]
See the official release post for changes.
-
Removed support for configuration which was deprecated in nwb v0.15.0.
Fixed
- Fixed display of user config errors when running the dev server.
Added
-
Added
webpack.hoisting
config to enable use of Webpack 3's newModuleConcatenationPlugin
for scope hoisting in production builds [#326] -
babel
,webpack
,devServer
,karma
andnpm
configuration can now be provided via arguments using dotted paths [#327]nwb react build app.js \ --babel.plugins=react-html-attrs \ --babel.stage=2 \ --webpack.hoisting
If you have a config file, arguments will override properties in it. This is primarily intended for one-off feature toggles without having to edit your config file, and to provide some level of configuration for quick development commands without needing a config file.
Changed
babel.plugins
,babel.presets
and locales inwebpack.compat
config now also accept single configuration as a String to make them usable via arguments [#327]
Dependencies
v0.17.1
0.17.1 / 2017-06-19
Fixed
- Fixed using a custom port for the dev server - Webpack Dev Server's client didn't like the format we were specifying the URL for the Hot Module Reloading connection in [#328]
- Use the correct protocol in the
'The app is running at...'
successful compilation message when using HTTPS.
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