Skip to content

v0.17.0

Compare
Choose a tag to compare
@insin insin released this 17 Jun 06:19
· 305 commits to master since this release

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 of propTypes 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 and render() 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

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 API
    • devServer.https can be used to enable HTTPS
    • devServer.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 of react, preact, inferno or web) manually, enabling use of the middleware without a config file.

React

Changed

npm modules

  • Default Babel config for react-component and web-module projects now uses babel-preset-stage-1, so you can use export extensions by default if you need to re-export a library's modules in src/index.js [#284]
  • Default Travis CI config for react-component and web-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 using nwb preact run. This has also been added to the preact-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

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