Only upload sourcemaps to rollbar on live deploys, and log NaN error for future debugging
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
"deploy_staging":
|
||||
"npm run build; aws s3 sync ./public/. s3://staging-0xproject --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers",
|
||||
"deploy_live":
|
||||
"npm run build; aws s3 sync ./public/. s3://0xproject.com --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --exclude *.map.js"
|
||||
"DEPLOY_ROLLBAR_SOURCEMAPS=true npm run build; aws s3 sync ./public/. s3://0xproject.com --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --exclude *.map.js"
|
||||
},
|
||||
"author": "Fabio Berger",
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@@ -29,6 +29,7 @@ import {
|
||||
import { configs } from 'ts/utils/configs';
|
||||
import { constants } from 'ts/utils/constants';
|
||||
import * as u2f from 'ts/vendor/u2f_api';
|
||||
import { errorReporter } from './error_reporter';
|
||||
|
||||
const isDogfood = (): boolean => _.includes(window.location.href, configs.DOMAIN_DOGFOOD);
|
||||
|
||||
@@ -389,6 +390,9 @@ export const utils = {
|
||||
: 2;
|
||||
const format = `0,0.${_.repeat('0', precision)}`;
|
||||
const formattedAmount = numeral(unitAmount).format(format);
|
||||
if (_.isNaN(formattedAmount)) {
|
||||
throw new Error(`amount ${BigNumber}, decimals ${decimals} could not be formatted and returned NaN.`);
|
||||
}
|
||||
return formattedAmount;
|
||||
},
|
||||
getUsdValueFormattedAmount(amount: BigNumber, decimals: number, price: BigNumber): string {
|
||||
|
||||
@@ -9,6 +9,43 @@ const GIT_SHA = childProcess
|
||||
.toString()
|
||||
.trim();
|
||||
|
||||
const generatePlugins = () => {
|
||||
let plugins = [];
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
plugins = plugins.concat([
|
||||
// Since we do not use moment's locale feature, we exclude them from the bundle.
|
||||
// This reduces the bundle size by 0.4MB.
|
||||
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': {
|
||||
NODE_ENV: JSON.stringify(process.env.NODE_ENV),
|
||||
GIT_SHA: JSON.stringify(GIT_SHA),
|
||||
},
|
||||
}),
|
||||
// TODO: Revert to webpack bundled version with webpack v4.
|
||||
// The v3 series bundled version does not support ES6 and
|
||||
// fails to build.
|
||||
new UglifyJsPlugin({
|
||||
sourceMap: true,
|
||||
uglifyOptions: {
|
||||
mangle: {
|
||||
reserved: ['BigNumber'],
|
||||
},
|
||||
},
|
||||
}),
|
||||
]);
|
||||
if (process.env.DEPLOY_ROLLBAR_SOURCEMAPS === 'true') {
|
||||
plugins = plugins.concat([
|
||||
new RollbarSourceMapPlugin({
|
||||
accessToken: '32c39bfa4bb6440faedc1612a9c13d28',
|
||||
version: GIT_SHA,
|
||||
publicPath: 'https://0xproject.com/',
|
||||
}),
|
||||
]);
|
||||
}
|
||||
}
|
||||
return plugins;
|
||||
};
|
||||
module.exports = {
|
||||
entry: ['./ts/index.tsx'],
|
||||
output: {
|
||||
@@ -78,34 +115,5 @@ module.exports = {
|
||||
},
|
||||
disableHostCheck: true,
|
||||
},
|
||||
plugins:
|
||||
process.env.NODE_ENV === 'production'
|
||||
? [
|
||||
// Since we do not use moment's locale feature, we exclude them from the bundle.
|
||||
// This reduces the bundle size by 0.4MB.
|
||||
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': {
|
||||
NODE_ENV: JSON.stringify(process.env.NODE_ENV),
|
||||
GIT_SHA: JSON.stringify(GIT_SHA),
|
||||
},
|
||||
}),
|
||||
// TODO: Revert to webpack bundled version with webpack v4.
|
||||
// The v3 series bundled version does not support ES6 and
|
||||
// fails to build.
|
||||
new UglifyJsPlugin({
|
||||
sourceMap: true,
|
||||
uglifyOptions: {
|
||||
mangle: {
|
||||
reserved: ['BigNumber'],
|
||||
},
|
||||
},
|
||||
}),
|
||||
new RollbarSourceMapPlugin({
|
||||
accessToken: '32c39bfa4bb6440faedc1612a9c13d28',
|
||||
version: GIT_SHA,
|
||||
publicPath: 'https://0xproject.com/',
|
||||
}),
|
||||
]
|
||||
: [],
|
||||
plugins: generatePlugins(),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user