Enough time has passed since the major release of the webpack book so it's a good time to evaluate how well it went. As no release is perfect, I've been pushing smaller patches to the content and I cover the fixes later in this post. The fixes are minor but they were still worth doing.
The paperback has sold roughly twenty copies in two weeks. The Kindle edition is close to thirty and the higher quality and more expensive hard cover edition has close to ten interested buyers which just might be enough for me to do a little print but we'll see.
In addition, the Leanpub edition reached two thousand readers but it's good to remember half of those received the book for free when I split up my first book.
Based on these results it's safe to say the release wasn't a great financial success. I'm particularly happy that I found a good writing model, though. Especially the last few months were great as significant progress was made and this bodes well for the future.
The book is stronger in many ways than the initial "Webpack and React" one and I have a solid writing process in place now. I know what kind of books to write from now on.
There's still a lot of work to do, some related to the webpack book. Even with poor sales it's worth doing as it adds more streams to the whole. As they say, a lot of small streams form a big river.
I've listed errata per version below so you can see the main changes. You can see them all through GitHub compare changes view.
const webpack = require('webpack');
to the Bundle Splitting chapter example.demo
to lib
at the Bundling Libraries chapter.import
s at the Extending with Loaders chapter to avoid a linting warning.path
import to Karma configuration example.that
→ than
.recordsPath
receives an absolute path as webpack enforces this now.an a
→ a
.cheap-module-source-map
over cheap-module-eval-source-map
since it's a more stable option.import()
syntax given that's supported now.devServer.open: true
bit as redundant.CommonsChunkPlugin
to production configuration to speed up the build.useSourceMap
flag from parts.minifyJavaScript
.const webpack = require('webpack');
to HashedModuleIdsPlugin
example.require('postcss-cssnext')(),
.require('autoprefixer')()
over require('autoprefixer')
now.ignoreFiles
since webpack include
is used already.purify-css
as a dependency to install as purifycss-webpack
requires that now as a peer dependency.cheap-module-eval-source-map
over cheap-module-source-map
for development.const path = require('path');
to Extending Loaders chapter.const { RawSource } = require('webpack-sources');
at Extending Loaders chapter.PATHS.app
to PATHS.lib
at the Bundling Libraries chapter.devtool
related paragraph to pass Amazon margin check.import
over require
at text.There's still a lot of touring to be done so things will move slower than usual. That said, I'll try to get most out of this experience and convert that into something good. Traveling is good for ideas.