ember-cli-deploy plugin to upload sourcemaps to Rollbar
JavaScript HTML
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
addon
app
config
tests
vendor
.bowerrc
.editorconfig
.ember-cli
.gitignore
.jshintrc
.npmignore
.travis.yml
.watchmanconfig
LICENSE.md
README.md
bower.json
ember-cli-build.js
index.js
package.json
testem.json

README.md

Build Status

ember-cli-deploy-rollbar

An ember-cli-deploy plugin that first integrates Rollbar to your application and second uploads your source maps to Rollbar.

This plugin will integrate Rollbar into your index.html file and uploads generated source maps via Rollbar API. During upload of the source maps to Rollbar you must provide source_code string that will match the error raised in Rollbar with the same value. To do this, Rollbar snippet is injected into index.html after the revision data is generated with revision key as source_code. After all, the plugin uploads the source maps with the same revision key as injected into index.html.

You can take a look here how Rollbar defines its flow with source maps

What is an ember-cli-deploy plugin?

A plugin is an addon that can be executed as a part of the ember-cli-deploy pipeline. A plugin will implement one or more of the ember-cli-deploy's pipeline hooks.

For more information on what plugins are and how they work, please refer to the Plugin Documentation.

Quick Start

To get up and running quickly, do the following:

$ ember install ember-cli-deploy-rollbar
  • Run the pipeline
$ ember deploy

Installation

Run the following command in your terminal:

ember install ember-cli-deploy-rollbar

ember-cli-deploy Hooks Implemented

For detailed information on what plugin hooks are and how they work, please refer to the Plugin Documentation.

  • willUpload (inject Rollbar snippet)
  • upload (upload source maps)
  • didDeploy (send information about deploy to Rollbar)

Configuration Options

For detailed information on how configuration of plugins works, please refer to the Plugin Documentation.

accessToken (required)

Rollbar client access token to trigger errors.

accessServerToken (required)

Rollbar server access token to allow uploading source maps to your account.

minifiedPrependUrl (required)

Rollbar demands to upload both source map and URL to minified file. This config let's you define the prepend to URL your assets will be available after upload. E.g. if you are using ember-cli-deploy-s3, add the same string as in fingerprint/prepend option in your ember-cli-deploy file.

This property can be a string or a function returning a string or an array of strings, which is passed the deploy context. Use a function here if you want to add multiple sources for multiple deploy locations. A possible scenario would be that you deploy both by git hash and a production deploy:

minifiedPrependUrl: function(context) {
  return [
    'https://dev.example.com/' + context.revisionData.revisionKey + '/',
    'https://app.example.com/'
  ];
}

enabled

Defines internal enabled Rollbar config.

Default: true Alternatives: false

environment

Defines internal environment Rollbar config.

Default: environment setting from ember-cli-deploy-build || production Alternatives: any other env

captureUncaught

Defines internal captureUncaught Rollbar config.

Default: true Alternatives: false

username

Rollbar local_username config that is displayed in Deploys section.

Default: unknown user Alternatives: any string or function returning string

rollbarFileURI

Defines the URI to download the Rollbar JS file.

Default: https://d37gvrvc0wt4s1.cloudfront.net/js/v1.8/rollbar.min.js Alternatives: any string that points to the file (e.g. https://mycdn.com/js/rollbar.min.js)

additionalFiles

Defines additional sourcemap files to be uploaded to Rollbar. Use this if you build .js files other than projectName.js and vendor.js.

Set to an array of filenames excluding their extentions. For example in an app that builds exta-functionality.js and additional-library.js set to ['exta-functionality', 'additional-library'].

Default: [] Alternatives: an array of filenames without extensions

Prerequisites

The following properties are expected to be present on the deployment context object:

Plugins known to work well with this one

Known issues

  • You must enable source maps in your ember-cli-build.js file, even in production env. However, you don't need to upload them anywhere (they won't be available online) - they are only needed during upload phase in deploy pipeline.
  • If you are using gzipping, make sure that you are not gzipping source maps - Rollbar will not accept gzipped files.
  • If you bump in any other issue in your deployment flow, give me a sign and I'll try to make this addon more flexible for you.