Q:

How can I inject a build number with webpack? 

I'd like to inject a build number and version information to my project as it's built with webpack.  For example, so that my code can do something like:
var buildInfo = require("build-info");

What would be the best way to generate that build-info module at build time? 

A:

You can use the DefinePlugin that will make your build info available inlined with your code:
Config
new webpack. DefinePlugin({
   __VERSION__: JSON.stringify('12345')
})

App code
console.log(__VERSION__);

A:

I would do more simpler, just use npm version patch (npm-version) (no plugin required)
package.json (Example path version before building)
{
  "version": "1.0.0",
  "scripts": {
    "build": "npm version patch && node build/build.js"
  }
}

So when you run npm run build this will patch the version (1.0.0 to 1.0.1 in your package.json)

Bonus: You can also add this to your config (example config/prod.env.js)
'use strict'
const pkg = require('./package.json')
module.exports = {
  NODE_ENV: '"production"',
  VERSION: pkg.version
}

Then you can use process.env. VERSION anywhere in your our JS
Updated: Or just use process.env.npm_package_version without required to include package.json

A:

There is a plugin to auto inject version from package.json. 
It can inject it into HTML, CSS, JS as a comment, but also as a value by special tag webpack-auto-inject-version. 
How to:
First of all, you have to add it to your project:
npm i webpack-auto-inject-version

Then you need to set up your webpack config:
var WebpackAutoInject = require('webpack-auto-inject-version');

module.exports = {
    plugins: [
        new WebpackAutoInject()
    ]
}

As you want to inject it into javascript, you should add a tag inside your javascript file ( which will be changed to version during the webpack compilation )
var version = '[AIV]{version}[/AIV]';
console.log(version);

Auto increasing:
You can set it up to auto increase the version directly from webpack by:
webpack --other-webpack-settings --major

webpack --other-webpack-settings -- minor

webpack --other-webpack-settings --patch

Where --other-webpack-settings is equal to your custom line args. 
Simplifying - you need to att --major, --minor or --patch whenever you want to auto increase a version.