To run the test suite and run our code linter, node.js and npm are required. If you don't have node installed, get it here first.
Installing all other dependencies is as simple as:
$ npm installAnd if you don't have Grunt already, feel free to install that globally:
$ npm install -g grunt-cliThe test suite is powered by Mocha and can both run from the command line or in the browser.
From the command line:
$ grunt testFrom your browser:
$ grunt run:testThen visit: http://localhost:8000/test/
The simplest way to compile your own version of Raven.js is with the supplied grunt command:
$ grunt buildBy default, this will compile raven.js and all of the included plugins.
If you only want to compile the core raven.js:
$ grunt build.coreFiles are compiled into build/.
Please, send over suggestions and bug fixes in the form of pull requests on GitHub. Any nontrivial fixes/features should include tests.
Do not include any changes to the dist/ folder or bump version numbers yourself.
The documentation is written using reStructuredText, and compiled using Sphinx. If you don't have Sphinx installed, you can do it using following command (assuming you have Python already installed in your system):
$ pip install sphinxDocumentation can be then compiled by running:
$ make docsAfterwards you can view it in your browser by running following command and than pointing your browser to http://127.0.0.1:8000/:
$ grunt run:docs- Bump version numbers in both
package.jsonandbower.json. - Bump version across all docs under
docs/ - Put together CHANGELOG
$ grunt distThis will compile a new version and update it in thedist/folder.- Confirm that build was fine, etc.
- Commit new version, create a tag. Push to GitHub.
- Copy CHANGELOG entry into a new GH Release: https://github.com/getsentry/raven-js/releases
$ grunt publishto recompile all plugins and all permutations and upload to S3.$ npm publishto push to npm.- Confirm that the new version exists behind
cdn.ravenjs.com - Bump version in the
gh-pagesbranch specifically for http://ravenjs.com/. - Bump marketing pages on getsentry.com, e.g. https://getsentry.com/for/javascript/
- Bump getsentry.com
<script>tag of raven.js - Bump
package.jsonin Sentry repo https://github.com/getsentry/sentry/blob/master/package.json - Bump version for Segment integration since they don't: https://github.com/segment-integrations/analytics.js-integration-sentry
- glhf