package/0000775000175000017500000000000015215026562011755 5ustar edwardedwardpackage/dist/0000775000175000017500000000000015215026562012720 5ustar edwardedwardpackage/dist/stacktrace-gps.min.js.map0000644000175000017500000007305503560116604017534 0ustar edwardedward{"version":3,"sources":["node_modules/stackframe/stackframe.js","./build/bundle.js","stacktrace-gps.js"],"names":["root","factory","define","amd","exports","module","StackFrame","this","_capitalize","str","charAt","toUpperCase","substring","_getter","p","booleanProps","numericProps","stringProps","props","concat","obj","i","length","undefined","prototype","getArgs","args","setArgs","v","Object","toString","call","TypeError","getEvalOrigin","evalOrigin","setEvalOrigin","fileName","getFileName","lineNumber","getLineNumber","columnNumber","getColumnNumber","functionName","getFunctionName","getIsEval","fromString","argsStartIndex","indexOf","argsEndIndex","lastIndexOf","split","locationString","parts","exec","Boolean","j","n","isNaN","parseFloat","isFinite","Number","k","String","SourceMap","e","r","t","o","l","m","c","d","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","hasOwnProperty","s","getArg","arguments","Error","match","scheme","auth","host","port","path","a","isAbsolute","u","g","splice","join","urlParse","urlGenerate","normalize","replace","relative","slice","Array","substr","charCodeAt","toSetString","fromSetString","compareByOriginalPositions","source","originalLine","originalColumn","generatedColumn","generatedLine","name","compareByGeneratedPositionsDeflated","compareByGeneratedPositionsInflated","ArraySet","quickSort","JSON","parse","sections","_version","map","_names","fromArray","_sources","sourceRoot","sourcesContent","_mappings","file","line","column","_sections","url","generatedOffset","consumer","fromSourceMap","__generatedMappings","_parseMappings","__originalMappings","_charIsMappingSeparator","GENERATED_ORDER","ORIGINAL_ORDER","GREATEST_LOWER_BOUND","LEAST_UPPER_BOUND","eachMapping","_generatedMappings","_originalMappings","at","forEach","allGeneratedPositionsFor","has","_findMapping","push","lastColumn","SourceMapConsumer","toArray","_sourceRoot","_generateSourcesContent","_file","h","f","_","y","C","A","O","decode","rest","search","computeColumnSpans","lastGeneratedColumn","originalPositionFor","hasContentsOfAllSources","size","some","sourceContentFor","generatedPositionFor","BasicSourceMapConsumer","constructor","sources","bias","every","add","IndexedSourceMapConsumer","Math","floor","_array","_set","getOwnPropertyNames","encode","round","random","require","StackTraceGPS","sourceMap","_xdr","Promise","resolve","reject","req","XMLHttpRequest","open","onerror","onreadystatechange","readyState","status","responseText","send","_atob","b64str","window","atob","_ensureStackFrameIsLegit","stackframe","opts","sourceCache","sourceMapConsumerCache","ajax","_get","location","isDataUrl","offline","sourceMapStart","encodedSource","xhrPromise","method","then","_getSourceMapConsumer","sourceMappingURL","defaultSourceRoot","sourceMapConsumerPromise","sourceMapSource","string","_parseJson","pinpoint","getMappedLocation","mappedStackFrame","resolveMappedStackFrame","findFunctionName","guessedFunctionName","syntaxes","lines","code","maxLines","min","commentPos","len","index","_findFunctionName","_ensureSupportedEnvironment","lastSourceMappingUrl","matchSourceMappingUrl","sourceMappingUrlRegExp","_findSourceMappingURL","test","sourceMapConsumer","loc","mappedSource"],"mappings":"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"}package/dist/stacktrace-gps.min.js0000644000175000017500000005711203560116604016754 0ustar edwardedward!function(e,n){"use strict";"function"==typeof define&&define.amd?define("stackframe",[],n):"object"==typeof exports?module.exports=n():e.StackFrame=n()}(this,function(){"use strict";function r(e){return e.charAt(0).toUpperCase()+e.substring(1)}function e(e){return function(){return this[e]}}var n=["isConstructor","isEval","isNative","isToplevel"],t=["columnNumber","lineNumber"],o=["fileName","functionName","source"],i=n.concat(t,o,["args"]);function c(e){if(e)for(var n=0;n=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e})},f.prototype.sourceContentFor=function(e,n){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=y.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var r;if(null!=this.sourceRoot&&(r=y.urlParse(this.sourceRoot))){var t=e.replace(/^file:\/\//,"");if("file"==r.scheme&&this._sources.has(t))return this.sourcesContent[this._sources.indexOf(t)];if((!r.path||"/"==r.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(n)return null;throw new Error('"'+e+'" is not in the SourceMap.')},f.prototype.generatedPositionFor=function(e){var n=y.getArg(e,"source");if(null!=this.sourceRoot&&(n=y.relative(this.sourceRoot,n)),!this._sources.has(n))return{line:null,column:null,lastColumn:null};var r={source:n=this._sources.indexOf(n),originalLine:y.getArg(e,"line"),originalColumn:y.getArg(e,"column")},t=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",y.compareByOriginalPositions,y.getArg(e,"bias",s.GREATEST_LOWER_BOUND));if(0<=t){var o=this._originalMappings[t];if(o.source===r.source)return{line:y.getArg(o,"generatedLine",null),column:y.getArg(o,"generatedColumn",null),lastColumn:y.getArg(o,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=f,(t.prototype=Object.create(s.prototype)).constructor=s,t.prototype._version=3,Object.defineProperty(t.prototype,"sources",{get:function(){for(var e=[],n=0;n>>=5)&&(n|=32),r+=l.encode(n),0>1,1==(1&a)?-i:i),r.rest=n}},function(e,n){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");n.encode=function(e){if(0<=e&&e/],t=e.split("\n"),o="",i=Math.min(n,20),s=0;s= 200 && req.status < 300) || (url.substr(0, 7) === 'file://' && req.responseText)) { resolve(req.responseText); } else { reject(new Error('HTTP status: ' + req.status + ' retrieving ' + url)); } } }; req.send(); }); } /** * Convert a Base64-encoded string into its original representation. * Used for inline sourcemaps. * * @param {String} b64str Base-64 encoded string * @returns {String} original representation of the base64-encoded string. */ function _atob(b64str) { if (typeof window !== 'undefined' && window.atob) { return window.atob(b64str); } else { throw new Error('You must supply a polyfill for window.atob in this environment'); } } function _parseJson(string) { if (typeof JSON !== 'undefined' && JSON.parse) { return JSON.parse(string); } else { throw new Error('You must supply a polyfill for JSON.parse in this environment'); } } function _findFunctionName(source, lineNumber/*, columnNumber*/) { var syntaxes = [ // {name} = function ({args}) TODO args capture /['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*function\b/, // function {name}({args}) m[1]=name m[2]=args /function\s+([^('"`]*?)\s*\(([^)]*)\)/, // {name} = eval() /['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*(?:eval|new Function)\b/, // fn_name() { /\b(?!(?:if|for|switch|while|with|catch)\b)(?:(?:static)\s+)?(\S+)\s*\(.*?\)\s*\{/, // {name} = () => { /['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*\(.*?\)\s*=>/ ]; var lines = source.split('\n'); // Walk backwards in the source lines until we find the line which matches one of the patterns above var code = ''; var maxLines = Math.min(lineNumber, 20); for (var i = 0; i < maxLines; ++i) { // lineNo is 1-based, source[] is 0-based var line = lines[lineNumber - i - 1]; var commentPos = line.indexOf('//'); if (commentPos >= 0) { line = line.substr(0, commentPos); } if (line) { code = line + code; var len = syntaxes.length; for (var index = 0; index < len; index++) { var m = syntaxes[index].exec(code); if (m && m[1]) { return m[1]; } } } } return undefined; } function _ensureSupportedEnvironment() { if (typeof Object.defineProperty !== 'function' || typeof Object.create !== 'function') { throw new Error('Unable to consume source maps in older browsers'); } } function _ensureStackFrameIsLegit(stackframe) { if (typeof stackframe !== 'object') { throw new TypeError('Given StackFrame is not an object'); } else if (typeof stackframe.fileName !== 'string') { throw new TypeError('Given file name is not a String'); } else if (typeof stackframe.lineNumber !== 'number' || stackframe.lineNumber % 1 !== 0 || stackframe.lineNumber < 1) { throw new TypeError('Given line number must be a positive integer'); } else if (typeof stackframe.columnNumber !== 'number' || stackframe.columnNumber % 1 !== 0 || stackframe.columnNumber < 0) { throw new TypeError('Given column number must be a non-negative integer'); } return true; } function _findSourceMappingURL(source) { var sourceMappingUrlRegExp = /\/\/[#@] ?sourceMappingURL=([^\s'"]+)\s*$/mg; var lastSourceMappingUrl; var matchSourceMappingUrl; // eslint-disable-next-line no-cond-assign while (matchSourceMappingUrl = sourceMappingUrlRegExp.exec(source)) { lastSourceMappingUrl = matchSourceMappingUrl[1]; } if (lastSourceMappingUrl) { return lastSourceMappingUrl; } else { throw new Error('sourceMappingURL not found'); } } function _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache) { return new Promise(function(resolve, reject) { var loc = sourceMapConsumer.originalPositionFor({ line: stackframe.lineNumber, column: stackframe.columnNumber }); if (loc.source) { // cache mapped sources var mappedSource = sourceMapConsumer.sourceContentFor(loc.source); if (mappedSource) { sourceCache[loc.source] = mappedSource; } resolve( // given stackframe and source location, update stackframe new StackFrame({ functionName: loc.name || stackframe.functionName, args: stackframe.args, fileName: loc.source, lineNumber: loc.line, columnNumber: loc.column })); } else { reject(new Error('Could not get original source for given stackframe and source map')); } }); } /** * @constructor * @param {Object} opts * opts.sourceCache = {url: "Source String"} => preload source cache * opts.sourceMapConsumerCache = {/path/file.js.map: SourceMapConsumer} * opts.offline = True to prevent network requests. * Best effort without sources or source maps. * opts.ajax = Promise returning function to make X-Domain requests */ return function StackTraceGPS(opts) { if (!(this instanceof StackTraceGPS)) { return new StackTraceGPS(opts); } opts = opts || {}; this.sourceCache = opts.sourceCache || {}; this.sourceMapConsumerCache = opts.sourceMapConsumerCache || {}; this.ajax = opts.ajax || _xdr; this._atob = opts.atob || _atob; this._get = function _get(location) { return new Promise(function(resolve, reject) { var isDataUrl = location.substr(0, 5) === 'data:'; if (this.sourceCache[location]) { resolve(this.sourceCache[location]); } else if (opts.offline && !isDataUrl) { reject(new Error('Cannot make network requests in offline mode')); } else { if (isDataUrl) { // data URLs can have parameters. // see http://tools.ietf.org/html/rfc2397 var supportedEncodingRegexp = /^data:application\/json;([\w=:"-]+;)*base64,/; var match = location.match(supportedEncodingRegexp); if (match) { var sourceMapStart = match[0].length; var encodedSource = location.substr(sourceMapStart); var source = this._atob(encodedSource); this.sourceCache[location] = source; resolve(source); } else { reject(new Error('The encoding of the inline sourcemap is not supported')); } } else { var xhrPromise = this.ajax(location, {method: 'get'}); // Cache the Promise to prevent duplicate in-flight requests this.sourceCache[location] = xhrPromise; xhrPromise.then(resolve, reject); } } }.bind(this)); }; /** * Creating SourceMapConsumers is expensive, so this wraps the creation of a * SourceMapConsumer in a per-instance cache. * * @param {String} sourceMappingURL = URL to fetch source map from * @param {String} defaultSourceRoot = Default source root for source map if undefined * @returns {Promise} that resolves a SourceMapConsumer */ this._getSourceMapConsumer = function _getSourceMapConsumer(sourceMappingURL, defaultSourceRoot) { return new Promise(function(resolve) { if (this.sourceMapConsumerCache[sourceMappingURL]) { resolve(this.sourceMapConsumerCache[sourceMappingURL]); } else { var sourceMapConsumerPromise = new Promise(function(resolve, reject) { return this._get(sourceMappingURL).then(function(sourceMapSource) { if (typeof sourceMapSource === 'string') { sourceMapSource = _parseJson(sourceMapSource.replace(/^\)\]\}'/, '')); } if (typeof sourceMapSource.sourceRoot === 'undefined') { sourceMapSource.sourceRoot = defaultSourceRoot; } resolve(new SourceMap.SourceMapConsumer(sourceMapSource)); }, reject); }.bind(this)); this.sourceMapConsumerCache[sourceMappingURL] = sourceMapConsumerPromise; resolve(sourceMapConsumerPromise); } }.bind(this)); }; /** * Given a StackFrame, enhance function name and use source maps for a * better StackFrame. * * @param {StackFrame} stackframe object * @returns {Promise} that resolves with with source-mapped StackFrame */ this.pinpoint = function StackTraceGPS$$pinpoint(stackframe) { return new Promise(function(resolve, reject) { this.getMappedLocation(stackframe).then(function(mappedStackFrame) { function resolveMappedStackFrame() { resolve(mappedStackFrame); } this.findFunctionName(mappedStackFrame) .then(resolve, resolveMappedStackFrame) // eslint-disable-next-line no-unexpected-multiline ['catch'](resolveMappedStackFrame); }.bind(this), reject); }.bind(this)); }; /** * Given a StackFrame, guess function name from location information. * * @param {StackFrame} stackframe * @returns {Promise} that resolves with enhanced StackFrame. */ this.findFunctionName = function StackTraceGPS$$findFunctionName(stackframe) { return new Promise(function(resolve, reject) { _ensureStackFrameIsLegit(stackframe); this._get(stackframe.fileName).then(function getSourceCallback(source) { var lineNumber = stackframe.lineNumber; var columnNumber = stackframe.columnNumber; var guessedFunctionName = _findFunctionName(source, lineNumber, columnNumber); // Only replace functionName if we found something if (guessedFunctionName) { resolve(new StackFrame({ functionName: guessedFunctionName, args: stackframe.args, fileName: stackframe.fileName, lineNumber: lineNumber, columnNumber: columnNumber })); } else { resolve(stackframe); } }, reject)['catch'](reject); }.bind(this)); }; /** * Given a StackFrame, seek source-mapped location and return new enhanced StackFrame. * * @param {StackFrame} stackframe * @returns {Promise} that resolves with enhanced StackFrame. */ this.getMappedLocation = function StackTraceGPS$$getMappedLocation(stackframe) { return new Promise(function(resolve, reject) { _ensureSupportedEnvironment(); _ensureStackFrameIsLegit(stackframe); var sourceCache = this.sourceCache; var fileName = stackframe.fileName; this._get(fileName).then(function(source) { var sourceMappingURL = _findSourceMappingURL(source); var isDataUrl = sourceMappingURL.substr(0, 5) === 'data:'; var defaultSourceRoot = fileName.substring(0, fileName.lastIndexOf('/') + 1); if (sourceMappingURL[0] !== '/' && !isDataUrl && !(/^https?:\/\/|^\/\//i).test(sourceMappingURL)) { sourceMappingURL = defaultSourceRoot + sourceMappingURL; } return this._getSourceMapConsumer(sourceMappingURL, defaultSourceRoot) .then(function(sourceMapConsumer) { return _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache) .then(resolve)['catch'](function() { resolve(stackframe); }); }); }.bind(this), reject)['catch'](reject); }.bind(this)); }; }; })); package/dist/polyfills.js0000644000175000017500000000014303560116604015264 0ustar edwardedward(function() { if (typeof Promise === 'undefined') { ES6Promise.polyfill(); } })(); package/stacktrace-gps.js0000644000175000017500000003516303560116604015231 0ustar edwardedward(function(root, factory) { 'use strict'; // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers. /* istanbul ignore next */ if (typeof define === 'function' && define.amd) { define('stacktrace-gps', ['source-map', 'stackframe'], factory); } else if (typeof exports === 'object') { module.exports = factory(require('source-map/lib/source-map-consumer'), require('stackframe')); } else { root.StackTraceGPS = factory(root.SourceMap || root.sourceMap, root.StackFrame); } }(this, function(SourceMap, StackFrame) { 'use strict'; /** * Make a X-Domain request to url and callback. * * @param {String} url * @returns {Promise} with response text if fulfilled */ function _xdr(url) { return new Promise(function(resolve, reject) { var req = new XMLHttpRequest(); req.open('get', url); req.onerror = reject; req.onreadystatechange = function onreadystatechange() { if (req.readyState === 4) { if ((req.status >= 200 && req.status < 300) || (url.substr(0, 7) === 'file://' && req.responseText)) { resolve(req.responseText); } else { reject(new Error('HTTP status: ' + req.status + ' retrieving ' + url)); } } }; req.send(); }); } /** * Convert a Base64-encoded string into its original representation. * Used for inline sourcemaps. * * @param {String} b64str Base-64 encoded string * @returns {String} original representation of the base64-encoded string. */ function _atob(b64str) { if (typeof window !== 'undefined' && window.atob) { return window.atob(b64str); } else { throw new Error('You must supply a polyfill for window.atob in this environment'); } } function _parseJson(string) { if (typeof JSON !== 'undefined' && JSON.parse) { return JSON.parse(string); } else { throw new Error('You must supply a polyfill for JSON.parse in this environment'); } } function _findFunctionName(source, lineNumber/*, columnNumber*/) { var syntaxes = [ // {name} = function ({args}) TODO args capture /['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*function\b/, // function {name}({args}) m[1]=name m[2]=args /function\s+([^('"`]*?)\s*\(([^)]*)\)/, // {name} = eval() /['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*(?:eval|new Function)\b/, // fn_name() { /\b(?!(?:if|for|switch|while|with|catch)\b)(?:(?:static)\s+)?(\S+)\s*\(.*?\)\s*\{/, // {name} = () => { /['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*\(.*?\)\s*=>/ ]; var lines = source.split('\n'); // Walk backwards in the source lines until we find the line which matches one of the patterns above var code = ''; var maxLines = Math.min(lineNumber, 20); for (var i = 0; i < maxLines; ++i) { // lineNo is 1-based, source[] is 0-based var line = lines[lineNumber - i - 1]; var commentPos = line.indexOf('//'); if (commentPos >= 0) { line = line.substr(0, commentPos); } if (line) { code = line + code; var len = syntaxes.length; for (var index = 0; index < len; index++) { var m = syntaxes[index].exec(code); if (m && m[1]) { return m[1]; } } } } return undefined; } function _ensureSupportedEnvironment() { if (typeof Object.defineProperty !== 'function' || typeof Object.create !== 'function') { throw new Error('Unable to consume source maps in older browsers'); } } function _ensureStackFrameIsLegit(stackframe) { if (typeof stackframe !== 'object') { throw new TypeError('Given StackFrame is not an object'); } else if (typeof stackframe.fileName !== 'string') { throw new TypeError('Given file name is not a String'); } else if (typeof stackframe.lineNumber !== 'number' || stackframe.lineNumber % 1 !== 0 || stackframe.lineNumber < 1) { throw new TypeError('Given line number must be a positive integer'); } else if (typeof stackframe.columnNumber !== 'number' || stackframe.columnNumber % 1 !== 0 || stackframe.columnNumber < 0) { throw new TypeError('Given column number must be a non-negative integer'); } return true; } function _findSourceMappingURL(source) { var sourceMappingUrlRegExp = /\/\/[#@] ?sourceMappingURL=([^\s'"]+)\s*$/mg; var lastSourceMappingUrl; var matchSourceMappingUrl; // eslint-disable-next-line no-cond-assign while (matchSourceMappingUrl = sourceMappingUrlRegExp.exec(source)) { lastSourceMappingUrl = matchSourceMappingUrl[1]; } if (lastSourceMappingUrl) { return lastSourceMappingUrl; } else { throw new Error('sourceMappingURL not found'); } } function _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache) { return new Promise(function(resolve, reject) { var loc = sourceMapConsumer.originalPositionFor({ line: stackframe.lineNumber, column: stackframe.columnNumber }); if (loc.source) { // cache mapped sources var mappedSource = sourceMapConsumer.sourceContentFor(loc.source); if (mappedSource) { sourceCache[loc.source] = mappedSource; } resolve( // given stackframe and source location, update stackframe new StackFrame({ functionName: loc.name || stackframe.functionName, args: stackframe.args, fileName: loc.source, lineNumber: loc.line, columnNumber: loc.column })); } else { reject(new Error('Could not get original source for given stackframe and source map')); } }); } /** * @constructor * @param {Object} opts * opts.sourceCache = {url: "Source String"} => preload source cache * opts.sourceMapConsumerCache = {/path/file.js.map: SourceMapConsumer} * opts.offline = True to prevent network requests. * Best effort without sources or source maps. * opts.ajax = Promise returning function to make X-Domain requests */ return function StackTraceGPS(opts) { if (!(this instanceof StackTraceGPS)) { return new StackTraceGPS(opts); } opts = opts || {}; this.sourceCache = opts.sourceCache || {}; this.sourceMapConsumerCache = opts.sourceMapConsumerCache || {}; this.ajax = opts.ajax || _xdr; this._atob = opts.atob || _atob; this._get = function _get(location) { return new Promise(function(resolve, reject) { var isDataUrl = location.substr(0, 5) === 'data:'; if (this.sourceCache[location]) { resolve(this.sourceCache[location]); } else if (opts.offline && !isDataUrl) { reject(new Error('Cannot make network requests in offline mode')); } else { if (isDataUrl) { // data URLs can have parameters. // see http://tools.ietf.org/html/rfc2397 var supportedEncodingRegexp = /^data:application\/json;([\w=:"-]+;)*base64,/; var match = location.match(supportedEncodingRegexp); if (match) { var sourceMapStart = match[0].length; var encodedSource = location.substr(sourceMapStart); var source = this._atob(encodedSource); this.sourceCache[location] = source; resolve(source); } else { reject(new Error('The encoding of the inline sourcemap is not supported')); } } else { var xhrPromise = this.ajax(location, {method: 'get'}); // Cache the Promise to prevent duplicate in-flight requests this.sourceCache[location] = xhrPromise; xhrPromise.then(resolve, reject); } } }.bind(this)); }; /** * Creating SourceMapConsumers is expensive, so this wraps the creation of a * SourceMapConsumer in a per-instance cache. * * @param {String} sourceMappingURL = URL to fetch source map from * @param {String} defaultSourceRoot = Default source root for source map if undefined * @returns {Promise} that resolves a SourceMapConsumer */ this._getSourceMapConsumer = function _getSourceMapConsumer(sourceMappingURL, defaultSourceRoot) { return new Promise(function(resolve) { if (this.sourceMapConsumerCache[sourceMappingURL]) { resolve(this.sourceMapConsumerCache[sourceMappingURL]); } else { var sourceMapConsumerPromise = new Promise(function(resolve, reject) { return this._get(sourceMappingURL).then(function(sourceMapSource) { if (typeof sourceMapSource === 'string') { sourceMapSource = _parseJson(sourceMapSource.replace(/^\)\]\}'/, '')); } if (typeof sourceMapSource.sourceRoot === 'undefined') { sourceMapSource.sourceRoot = defaultSourceRoot; } resolve(new SourceMap.SourceMapConsumer(sourceMapSource)); }, reject); }.bind(this)); this.sourceMapConsumerCache[sourceMappingURL] = sourceMapConsumerPromise; resolve(sourceMapConsumerPromise); } }.bind(this)); }; /** * Given a StackFrame, enhance function name and use source maps for a * better StackFrame. * * @param {StackFrame} stackframe object * @returns {Promise} that resolves with with source-mapped StackFrame */ this.pinpoint = function StackTraceGPS$$pinpoint(stackframe) { return new Promise(function(resolve, reject) { this.getMappedLocation(stackframe).then(function(mappedStackFrame) { function resolveMappedStackFrame() { resolve(mappedStackFrame); } this.findFunctionName(mappedStackFrame) .then(resolve, resolveMappedStackFrame) // eslint-disable-next-line no-unexpected-multiline ['catch'](resolveMappedStackFrame); }.bind(this), reject); }.bind(this)); }; /** * Given a StackFrame, guess function name from location information. * * @param {StackFrame} stackframe * @returns {Promise} that resolves with enhanced StackFrame. */ this.findFunctionName = function StackTraceGPS$$findFunctionName(stackframe) { return new Promise(function(resolve, reject) { _ensureStackFrameIsLegit(stackframe); this._get(stackframe.fileName).then(function getSourceCallback(source) { var lineNumber = stackframe.lineNumber; var columnNumber = stackframe.columnNumber; var guessedFunctionName = _findFunctionName(source, lineNumber, columnNumber); // Only replace functionName if we found something if (guessedFunctionName) { resolve(new StackFrame({ functionName: guessedFunctionName, args: stackframe.args, fileName: stackframe.fileName, lineNumber: lineNumber, columnNumber: columnNumber })); } else { resolve(stackframe); } }, reject)['catch'](reject); }.bind(this)); }; /** * Given a StackFrame, seek source-mapped location and return new enhanced StackFrame. * * @param {StackFrame} stackframe * @returns {Promise} that resolves with enhanced StackFrame. */ this.getMappedLocation = function StackTraceGPS$$getMappedLocation(stackframe) { return new Promise(function(resolve, reject) { _ensureSupportedEnvironment(); _ensureStackFrameIsLegit(stackframe); var sourceCache = this.sourceCache; var fileName = stackframe.fileName; this._get(fileName).then(function(source) { var sourceMappingURL = _findSourceMappingURL(source); var isDataUrl = sourceMappingURL.substr(0, 5) === 'data:'; var defaultSourceRoot = fileName.substring(0, fileName.lastIndexOf('/') + 1); if (sourceMappingURL[0] !== '/' && !isDataUrl && !(/^https?:\/\/|^\/\//i).test(sourceMappingURL)) { sourceMappingURL = defaultSourceRoot + sourceMappingURL; } return this._getSourceMapConsumer(sourceMappingURL, defaultSourceRoot) .then(function(sourceMapConsumer) { return _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache) .then(resolve)['catch'](function() { resolve(stackframe); }); }); }.bind(this), reject)['catch'](reject); }.bind(this)); }; }; })); package/README.md0000644000175000017500000001227603560116604013237 0ustar edwardedwardstacktrace-gps - Turn partial code location into precise code location =================== [![Build Status](https://travis-ci.org/stacktracejs/stacktrace-gps.svg?branch=master)](https://travis-ci.org/stacktracejs/stacktrace-gps) [![Coverage Status](https://img.shields.io/coveralls/stacktracejs/stacktrace-gps.svg)](https://coveralls.io/r/stacktracejs/stacktrace-gps) [![GitHub license](https://img.shields.io/github/license/stacktracejs/stacktrace-gps.svg)](https://opensource.org/licenses/MIT) This library accepts a code location (in the form of a [StackFrame](https://github.com/stacktracejs/stackframe)) and returns a new StackFrame with a more accurate location (using [source maps](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/)) and guessed function names. This is primarily a browser-centric library, but can be used with node.js. See the [Offline Usage section](#offline-usage) below. ## Usage ```js var stackframe = new StackFrame({fileName: 'http://localhost:3000/file.min.js', lineNumber: 1, columnNumber: 3284}); var callback = function myCallback(foundFunctionName) { console.log(foundFunctionName); }; // Such meta. Wow var errback = function myErrback(error) { console.log(StackTrace.fromError(error)); }; var gps = new StackTraceGPS(); // Pinpoint actual function name and source-mapped location gps.pinpoint(stackframe).then(callback, errback); //===> Promise(StackFrame({functionName: 'fun', fileName: 'file.js', lineNumber: 203, columnNumber: 9}), Error) // Better location/name information from source maps gps.getMappedLocation(stackframe).then(callback, errback); //===> Promise(StackFrame({fileName: 'file.js', lineNumber: 203, columnNumber: 9}), Error) // Get function name from location information gps.findFunctionName(stackframe).then(callback, errback); //===> Promise(StackFrame({functionName: 'fun', fileName: 'http://localhost:3000/file.min.js', lineNumber: 1, columnNumber: 3284}), Error) ``` ### Offline Usage With a bit of preparation, you can use this library offline in any environment. Any encountered fileNames not in the cache return resolved Promises with the original StackFrame. StackTraceGPS will make a best effort to provide as good of response with what is given and will fallback to the original StackFrame if nothing better could be found. ```js var stack = ErrorStackParser.parse(new Error('boom')); console.assert(stack[0] == new StackFrame({fileName: 'http://localhost:9999/file.min.js', lineNumber: 1, columnNumber: 32})); var sourceCache = {'http://localhost:9999/file.min.js': 'var foo=function(){};function bar(){}var baz=eval("XXX");\n//# sourceMappingURL=file.js.map'}; var sourceMap = '{"version":3,"sources":["./file.js"],"sourceRoot":"http://localhost:4000/","names":["foo","bar","baz","eval"],"mappings":"AAAA,GAAIA,KAAM,YACV,SAASC,QACT,GAAIC,KAAMC,KAAK","file":"file.min.js"}'; var sourceMapConsumerCache = {'http://localhost:4000/file.js.map': new SourceMap.SourceMapConsumer(sourceMap)}; var gps = new StackTraceGPS({offline: true, sourceCache: sourceCache, sourceMapConsumerCache: sourceMapConsumerCache}); gps.pinpoint(stack[0]).then(function(betterStackFrame) { console.assert(betterStackFrame === new StackFrame({functionName: 'bar', fileName: 'http://localhost:9999/file.js', lineNumber: 2, columnNumber: 9})); }); ``` ## Installation ``` npm install stacktrace-gps bower install stacktrace-gps https://raw.githubusercontent.com/stacktracejs/stacktrace-gps/master/dist/stacktrace-gps.min.js ``` ## API #### `new StackTraceGPS(/*optional*/ options)` => StackTraceGPS options: Object * **sourceCache: Object (String URL : String Source)** - Pre-populate source cache to avoid network requests * **sourceMapConsumerCache: Object (Source Mapping URL : SourceMap.SourceMapConsumer)** - Pre-populate source cache to avoid network requests * **offline: Boolean (default false)** - Set to `true` to prevent all network requests * **ajax: Function (String URL => Promise(responseText))** - Function to be used for making X-Domain requests * **atob: Function (String => String)** - Function to convert base64-encoded strings to their original representation #### `.pinpoint(stackframe)` => Promise(StackFrame) Enhance function name and use source maps to produce a better StackFrame. * **stackframe** - [StackFrame](https://github.com/stacktracejs/stackframe) or like object e.g. {fileName: 'path/to/file.js', lineNumber: 100, columnNumber: 5} #### `.findFunctionName(stackframe)` => Promise(StackFrame) Enhance function name and use source maps to produce a better StackFrame. * **stackframe** - [StackFrame](https://github.com/stacktracejs/stackframe) or like object #### `.getMappedLocation(stackframe)` => Promise(StackFrame) Enhance function name and use source maps to produce a better StackFrame. * **stackframe** - [StackFrame](https://github.com/stacktracejs/stackframe) or like object ## Browser Support [![Sauce Test Status](https://saucelabs.com/browser-matrix/stacktracejs.svg)](https://saucelabs.com/u/stacktracejs) Functions that rely on [Source Maps](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/) (`pinpoint` and `getMappedLocation`) require recent browsers. ## Contributing Want to be listed as a *Contributor*? Start with the [Contributing Guide](CONTRIBUTING.md)! package/LICENSE0000644000175000017500000000207003560116604012754 0ustar edwardedwardCopyright (c) 2017 Eric Wendelin and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. package/CHANGELOG.md0000644000175000017500000000350203560116604013561 0ustar edwardedward## v3.0 * Upgrade to StackFrame v1.x for better representation of eval, constructor, and native functions (#44) * Cache and reuse SourceMapConsumers for same source map (#43) * Add function parsing for ES6 function definitions (#46) * Handle file:// protocol when making ajax requests (#40) * Improve function name parsing (#46) ## v2.4 * Resolve original StackFrame if source map resolution fails * Allow users to provide `ajax` for custom source/sourcemap resolution (#26) * Allow users to provide `atob` function definition (#28) * Improved handling of inline source maps ## v2.3 * Cache Promises for remote requests to avoid multiple in-flight requests for same resource (#19) * Cache sourceContent from source maps ## v2.2 * Upgrade source-map dependency * Fix handling of webpack:// urls in source maps * Add component(1) support ## v2.1.2 * .pinpoint() resolves to source-mapped stackframe even if other analysis fails. * Fix stackframe dependency in CommonJS definition ## v2.1.0 * Revert change: allow cross-domain XHR in IE8 and IE9 - too unstable ## v2.0.0 * Return StackFrame objects instead of partial code locations * Add StackTraceGPS.pinpoint(stackframe) enhancing location and function name ## v1.0.4 * Add "offline" option to prevent unwanted network requests * Add "sourceCache" option to allow sources and source maps to be resolved offline ## v1.0.3 * Allow cross-domain XHR in IE8 and IE9 ## v1.0.2 * Name functions such that they can can be filtered out by stacktrace.js ## v1.0.1 * Use Promise.catch() to handle unexpected errors ## v1.0.0 * Use es6-promise to polyfill Promise API ## v0.2.1 * Provide standard distribution (minified and unminified). * Add draft source maps support ## v0.2.0 * Switch to Promise-based API * Switch to Karma/Travis/Jasmine for testing and CI ## v0.1.0 * Initial port from stacktrace.js package/package.json0000644000175000017500000000462603560116604014246 0ustar edwardedward{ "name": "stacktrace-gps", "description": "Turns partial code location into precise code location", "maintainers": [ "Eric Wendelin (https://www.eriwen.com)", "Victor Homyakov (https://github.com/victor-homyakov)", "Oliver Salzburg (https://github.com/oliversalzburg)" ], "version": "3.0.4", "license": "MIT", "keywords": [ "stacktrace", "error", "debugger" ], "homepage": "https://www.stacktracejs.com", "repository": { "type": "git", "url": "git://github.com/stacktracejs/stacktrace-gps.git" }, "dependencies": { "source-map": "0.5.6", "stackframe": "^1.1.1" }, "devDependencies": { "es6-promise": "^3.0.2", "eslint": "^6.8.0", "jasmine": "^2.7.0", "jasmine-ajax": "^3.3.1", "jasmine-core": "^2.7.0", "karma": "^4.4.1", "karma-chrome-launcher": "^3.1.0", "karma-coverage": "^2.0.1", "karma-coveralls": "^2.1.0", "karma-firefox-launcher": "^1.2.0", "karma-ie-launcher": "^1.0.0", "karma-jasmine": "^1.1.2", "karma-jasmine-ajax": "^0.1.13", "karma-opera-launcher": "^1.0.0", "karma-phantomjs-launcher": "^1.0.4", "karma-safari-launcher": "^1.0.0", "karma-sauce-launcher": "^2.0.2", "karma-spec-reporter": "^0.0.32", "run-sequence": "^1.1.4", "webpack": "^4.41.5", "webpack-cli": "^3.3.10" }, "bugs": { "url": "https://github.com/stacktracejs/stacktrace-gps/issues" }, "main": "./stacktrace-gps.js", "files": [ "LICENSE", "README.md", "stacktrace-gps.js", "dist/", "node_modules/source-map/" ], "scripts": { "lint": "eslint --fix stacktrace-gps.js spec/", "prepare": "cp stacktrace-gps.js polyfills.js dist/ && ./node_modules/.bin/webpack --mode production && uglifyjs node_modules/stackframe/stackframe.js ./build/bundle.js stacktrace-gps.js -o dist/stacktrace-gps.min.js --compress --mangle --source-map \"url=stacktrace-gps.min.js.map\" && uglifyjs node_modules/es6-promise/dist/es6-promise.js polyfills.js node_modules/stackframe/stackframe.js build/bundle.js stacktrace-gps.js -o dist/stacktrace-gps-with-polyfills.min.js --compress --mangle --source-map \"url=stacktrace-gps-polyfilled.min.js.map\"", "test": "karma start karma.conf.js --single-run", "test-pr": "karma start karma.conf.js --single-run --browsers Firefox,Chrome_Travis", "test-ci": "karma start karma.conf.ci.js --single-run" } }