nwb v0.17.0 Release Notes

Release Date: 2017-06-17 // almost 7 years ago
  • ๐Ÿ’ฅ Breaking Changes

    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

    • โž• 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 an index.html file if you don't need one (e.g. you're serving your built apps via another means) [#278] [[bwendt-mylo][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 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

    • 0๏ธโƒฃ 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