Civil & Tiny Creative
- Present -
Add to Slack
Gumshoe tracks the size of your assets whenever you do a build or deploy and tells you what’s changed.
Gumshoe

Whenever you do a new build or deploy, any assets that have changed size, get posted into Slack. Each one shows the amount they've changed and a chart of their previous sizes.

Gumshoe

It also let's you know when things get smaller!

Integrate into your build pipeline

Gulp

npm install gulp-gumshoe --save-dev
const gumshoe = require('gulp-gumshoe');

gulp.task('deploy-assets', () => {
  return gulp.src('./build/**/*')
  .pipe(gumshoe({ apiKey: 'API_KEY' }))
  .pipe(gulp.dest('dist'));
});

Webpack

npm install webpack-gumshoe-plugin --save-dev
const GumshoePlugin = require('webpack-gumshoe-plugin');
// in your webpack config:
plugins: [
  new GumshoePlugin({
    apiKey: 'API_KEY'
  })
]

Custom / API

$ curl https://api.gumshoebot.com/v1/files \
  -H 'Authorization: API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "file.js": 12345,
    "path/another-file.css": 54321
  }'
Extra options
gumshoe({
  apiKey: 'API_KEY',

  // If you fingerprint/cachebust/hash your assets, pass in
  // a RegEx that matches the fingerprint and it'll be stripped
  // from the file name. This matches `filename-xxxxxxxxxx.js`
  fingerprint: /-\w{10,10}$/i,

  // You can use Gumshoe for more than one project, just pass
  // in a project name and it'll be shown in Slack.
  name: 'My Awesomesauce Project',

  // You can separate out development from production deploys.
  env: process.env['NODE_ENV'] || 'development',
})
Add to Slack