perf-marks
Advanced tools
Comparing version 1.5.0 to 1.5.1
@@ -10,2 +10,8 @@ # Change Log | ||
## [1.5.1][] - 2019-11-08 | ||
### Updated | ||
- Updated UMD bundle module to use `rollup` as UMD resolver | ||
## [1.5.0][] - 2019-11-06 | ||
@@ -144,5 +150,7 @@ | ||
[1.4.1]: https://github.com/willmendesneto/perf-marks/tree/v1.4.1 | ||
[unreleased]: https://github.com/willmendesneto/perf-marks/compare/v1.5.0...HEAD | ||
[1.5.0]: https://github.com/willmendesneto/perf-marks/tree/v1.5.0 | ||
[Unreleased]: https://github.com/willmendesneto/perf-marks/compare/v1.5.0...HEAD | ||
[1.5.0]: https://github.com/willmendesneto/perf-marks/tree/v1.5.0 | ||
[Unreleased]: https://github.com/willmendesneto/perf-marks/compare/v1.5.1...HEAD | ||
[1.5.1]: https://github.com/willmendesneto/perf-marks/tree/v1.5.1 |
(function (global, factory) { | ||
if (typeof define === "function" && define.amd) { | ||
define("PerfMarks", ["exports", "./is-user-timing-api-supported"], factory); | ||
} else if (typeof exports !== "undefined") { | ||
factory(exports, require("./is-user-timing-api-supported")); | ||
} else { | ||
var mod = { | ||
exports: {} | ||
}; | ||
factory(mod.exports, global.isUserTimingApiSupported); | ||
global.PerfMarks = mod.exports; | ||
} | ||
})(this, function (_exports, _isUserTimingApiSupported) { | ||
"use strict"; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : | ||
typeof define === 'function' && define.amd ? define(['exports'], factory) : | ||
(global = global || self, factory(global.PerfMarks = {})); | ||
}(this, (function (exports) { 'use strict'; | ||
Object.defineProperty(_exports, "__esModule", { | ||
value: true | ||
}); | ||
_exports.clearAll = _exports.clear = _exports.end = _exports.start = void 0; | ||
// Map() is not used in order to decrease the bundle | ||
var marksMap = {}; | ||
/** | ||
* Get the current time based on User Timing API or Date | ||
* | ||
* @returns number | ||
* | ||
*/ | ||
/** | ||
* Boolean with the result of the check if User Timing API | ||
* is supported for the current browser/NodeJS version | ||
* | ||
* @returns boolean | ||
* | ||
*/ | ||
var isUserTimingAPISupported = typeof performance !== 'undefined' && | ||
typeof performance.now !== 'undefined' && | ||
typeof performance.mark === 'function' && | ||
typeof performance.clearMarks === 'function' && | ||
typeof performance.measure === 'function' && | ||
typeof performance.clearMeasures === 'function'; | ||
var getTimeNow = function getTimeNow() { | ||
if (_isUserTimingApiSupported.isUserTimingAPISupported) { | ||
return performance.now(); | ||
} | ||
// Map() is not used in order to decrease the bundle | ||
var marksMap = {}; | ||
/** | ||
* Get the current time based on User Timing API or Date | ||
* | ||
* @returns number | ||
* | ||
*/ | ||
var getTimeNow = function () { | ||
if (isUserTimingAPISupported) { | ||
return performance.now(); | ||
} | ||
return Date.now ? Date.now() : +new Date(); | ||
}; | ||
/** | ||
* Clear marks and measure of performance event | ||
* | ||
* @param markName - Performance marker to be checked | ||
* | ||
* @returns void | ||
* | ||
*/ | ||
var clear = function (markName) { | ||
marksMap[markName] = undefined; | ||
if (!isUserTimingAPISupported) { | ||
return; | ||
} | ||
performance.clearMeasures(markName); | ||
performance.clearMarks(markName); | ||
}; | ||
/** | ||
* Start performance measure of event | ||
* | ||
* @param markName - Performance marker to be started | ||
* | ||
* @returns number | ||
* | ||
*/ | ||
var start = function (markName) { | ||
if (isUserTimingAPISupported) { | ||
performance.mark(markName); | ||
} | ||
marksMap[markName] = getTimeNow(); | ||
}; | ||
/** | ||
* Finishes performance measure of event and | ||
* clear marks and measure if applicable | ||
* | ||
* @param markName - Performance marker to be checked | ||
* @param markNameToCompare - Optional mark to compare to | ||
* | ||
* @returns PerfMarksPerformanceEntry | ||
* | ||
*/ | ||
var end = function (markName, markNameToCompare) { | ||
try { | ||
var startTime = marksMap[markName]; | ||
if (!isUserTimingAPISupported) { | ||
return startTime ? { duration: getTimeNow() - startTime, startTime: startTime } : {}; | ||
} | ||
performance.measure(markName, markName, markNameToCompare || undefined); | ||
var entry = performance.getEntriesByName(markName).pop(); | ||
if (entry) { | ||
return entry; | ||
} | ||
return {}; | ||
} | ||
catch (e) { | ||
// If previous mark was missing for some reason, this will throw. | ||
// This could only happen if something in event loop crashed | ||
// in an unexpected place earlier. | ||
// Don't pile on with more errors. | ||
return {}; | ||
} | ||
finally { | ||
// Clear marks immediately to avoid growing buffer. | ||
clear(markName); | ||
} | ||
}; | ||
/** | ||
* Clear all marks and measures of performance event | ||
* | ||
* @returns void | ||
* | ||
*/ | ||
var clearAll = function () { | ||
marksMap = {}; | ||
if (!isUserTimingAPISupported) { | ||
return; | ||
} | ||
performance.clearMeasures(); | ||
performance.clearMarks(); | ||
}; | ||
return Date.now ? Date.now() : +new Date(); | ||
}; | ||
/** | ||
* Clear marks and measure of performance event | ||
* | ||
* @param markName - Performance marker to be checked | ||
* | ||
* @returns void | ||
* | ||
*/ | ||
/** | ||
* Gets the result for all marks that matches with the given mark name | ||
* | ||
* @param markName - Performance marker to be checked | ||
* | ||
* @returns PerfMarksPerformanceNavigationTiming[] | ||
* | ||
*/ | ||
var getEntriesByType = function (entryName) { | ||
if (!isUserTimingAPISupported) { | ||
return []; | ||
} | ||
return performance.getEntriesByType(entryName) || []; | ||
}; | ||
/** | ||
* Gets the marks for `navigation` loaded mark | ||
* | ||
* @returns PerfMarksPerformanceNavigationTiming[] | ||
* | ||
*/ | ||
var getNavigationMarker = function () { return getEntriesByType('navigation').pop() || {}; }; | ||
exports.clear = clear; | ||
exports.clearAll = clearAll; | ||
exports.end = end; | ||
exports.getEntriesByType = getEntriesByType; | ||
exports.getNavigationMarker = getNavigationMarker; | ||
exports.isUserTimingAPISupported = isUserTimingAPISupported; | ||
exports.start = start; | ||
var clear = function clear(markName) { | ||
marksMap[markName] = undefined; | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
if (!_isUserTimingApiSupported.isUserTimingAPISupported) { | ||
return; | ||
} | ||
performance.clearMeasures(markName); | ||
performance.clearMarks(markName); | ||
}; | ||
/** | ||
* Start performance measure of event | ||
* | ||
* @param markName - Performance marker to be started | ||
* | ||
* @returns number | ||
* | ||
*/ | ||
_exports.clear = clear; | ||
var start = function start(markName) { | ||
if (_isUserTimingApiSupported.isUserTimingAPISupported) { | ||
performance.mark(markName); | ||
} | ||
marksMap[markName] = getTimeNow(); | ||
}; | ||
/** | ||
* Finishes performance measure of event and | ||
* clear marks and measure if applicable | ||
* | ||
* @param markName - Performance marker to be checked | ||
* @param markNameToCompare - Optional mark to compare to | ||
* | ||
* @returns PerfMarksPerformanceEntry | ||
* | ||
*/ | ||
_exports.start = start; | ||
var end = function end(markName, markNameToCompare) { | ||
try { | ||
var startTime = marksMap[markName]; | ||
if (!_isUserTimingApiSupported.isUserTimingAPISupported) { | ||
return startTime ? { | ||
duration: getTimeNow() - startTime, | ||
startTime: startTime | ||
} : {}; | ||
} | ||
performance.measure(markName, markName, markNameToCompare || undefined); | ||
var entry = performance.getEntriesByName(markName).pop(); | ||
if (entry) { | ||
return entry; | ||
} | ||
return {}; | ||
} catch (e) { | ||
// If previous mark was missing for some reason, this will throw. | ||
// This could only happen if something in event loop crashed | ||
// in an unexpected place earlier. | ||
// Don't pile on with more errors. | ||
return {}; | ||
} finally { | ||
// Clear marks immediately to avoid growing buffer. | ||
clear(markName); | ||
} | ||
}; | ||
/** | ||
* Clear all marks and measures of performance event | ||
* | ||
* @returns void | ||
* | ||
*/ | ||
_exports.end = end; | ||
var clearAll = function clearAll() { | ||
marksMap = {}; | ||
if (!_isUserTimingApiSupported.isUserTimingAPISupported) { | ||
return; | ||
} | ||
performance.clearMeasures(); | ||
performance.clearMarks(); | ||
}; | ||
_exports.clearAll = clearAll; | ||
}); | ||
}))); |
{ | ||
"name": "perf-marks", | ||
"version": "1.5.0", | ||
"version": "1.5.1", | ||
"author": "Will Mendes <willmendesneto@gmail.com>", | ||
@@ -12,3 +12,3 @@ "description": "The simplest and lightweight solution for User Timing API in Javascript.", | ||
"license": "MIT", | ||
"browser": "dist/umd/index.js", | ||
"browser": "dist/umd/perf-marks.js", | ||
"jsnext:main": "dist/esm/index.js", | ||
@@ -54,2 +54,3 @@ "module": "dist/esm/index.js", | ||
"prettier": "^1.18.2", | ||
"rollup": "^1.26.3", | ||
"ts-jest": "^24.1.0", | ||
@@ -59,2 +60,3 @@ "ts-node": "^8.4.1", | ||
"typings": "^2.1.1", | ||
"uglifyjs": "^2.4.11", | ||
"usertiming": "^0.1.8", | ||
@@ -71,3 +73,4 @@ "version-changelog": "^3.1.0" | ||
"build": "yarn build:es2015 && yarn build:cjs && yarn build:esm && yarn build:umd && yarn build:entrypoints:clean && yarn build:entrypoints", | ||
"build:umd": "tsc --module esnext --target es5 --outDir dist/umd && babel dist/umd --out-dir dist/umd", | ||
"build:umd": "rollup dist/esm/index.js --format umd --name PerfMarks -o dist/umd/perf-marks.js && yarn build:umd:min", | ||
"build:umd:min": "uglifyjs --compress --mangle --screw-ie8 --comments -o dist/umd/perf-marks.min.js -- dist/umd/perf-marks.js && gzip dist/umd/perf-marks.min.js -c > dist/umd/perf-marks.min.js.gz", | ||
"build:es2015": "tsc --module es2015 --target es2015 --outDir dist/es2015", | ||
@@ -101,4 +104,8 @@ "build:esm": "tsc --module esnext --target es5 --outDir dist/esm", | ||
{ | ||
"path": "./dist/umd/index.js", | ||
"maxSize": "455B" | ||
"path": "./dist/umd/perf-marks.js", | ||
"maxSize": "1.21KB" | ||
}, | ||
{ | ||
"path": "./dist/umd/perf-marks.min.js", | ||
"maxSize": "530B" | ||
} | ||
@@ -105,0 +112,0 @@ ], |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
43891
31
32
802