browsertime 19.3.1 → 21.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/README.md +9 -8
- package/bin/browsertime.js +9 -3
- package/browserscripts/pageinfo/interactionToNextPaintInfo.js +170 -143
- package/browserscripts/timings/interactionToNextPaint.js +49 -137
- package/lib/chrome/webdriver/setupChromiumOptions.js +0 -9
- package/lib/core/engine/collector.js +11 -0
- package/lib/core/engine/command/actions.js +52 -0
- package/lib/core/engine/command/addText.js +48 -30
- package/lib/core/engine/command/android.js +43 -4
- package/lib/core/engine/command/cache.js +39 -2
- package/lib/core/engine/command/chromeDevToolsProtocol.js +51 -1
- package/lib/core/engine/command/chromeTrace.js +34 -0
- package/lib/core/engine/command/click.js +102 -52
- package/lib/core/engine/command/debug.js +19 -2
- package/lib/core/engine/command/element.js +66 -0
- package/lib/core/engine/command/geckoProfiler.js +41 -1
- package/lib/core/engine/command/javaScript.js +43 -20
- package/lib/core/engine/command/measure.js +151 -19
- package/lib/core/engine/command/meta.js +17 -0
- package/lib/core/engine/command/mouse/clickAndHold.js +56 -29
- package/lib/core/engine/command/mouse/contextClick.js +30 -11
- package/lib/core/engine/command/mouse/doubleClick.js +35 -11
- package/lib/core/engine/command/mouse/mouseMove.js +38 -16
- package/lib/core/engine/command/mouse/singleClick.js +187 -12
- package/lib/core/engine/command/navigation.js +31 -3
- package/lib/core/engine/command/screenshot.js +33 -0
- package/lib/core/engine/command/scroll.js +35 -13
- package/lib/core/engine/command/select.js +55 -36
- package/lib/core/engine/command/set.js +51 -36
- package/lib/core/engine/command/stopWatch.js +30 -9
- package/lib/core/engine/command/switch.js +49 -11
- package/lib/core/engine/command/wait.js +50 -25
- package/lib/core/engine/commands.js +267 -0
- package/lib/core/engine/context.js +81 -0
- package/lib/core/engine/index.js +6 -2
- package/lib/core/engine/iteration.js +20 -102
- package/lib/firefox/geckoProfiler.js +49 -1
- package/lib/firefox/webdriver/builder.js +35 -12
- package/lib/firefox/webdriver/firefox.js +1 -1
- package/lib/support/cli.js +35 -15
- package/lib/support/engineUtils.js +13 -1
- package/lib/support/statistics.js +11 -1
- package/lib/support/userTiming.js +2 -2
- package/package.json +17 -8
- package/types/android/index.d.ts +70 -0
- package/types/android/index.d.ts.map +1 -0
- package/types/chrome/parseCpuTrace.d.ts +21 -0
- package/types/chrome/parseCpuTrace.d.ts.map +1 -0
- package/types/chrome/traceCategoriesParser.d.ts +2 -0
- package/types/chrome/traceCategoriesParser.d.ts.map +1 -0
- package/types/chrome/webdriver/traceUtilities.d.ts +8 -0
- package/types/chrome/webdriver/traceUtilities.d.ts.map +1 -0
- package/types/core/engine/command/action.d.ts +73 -0
- package/types/core/engine/command/action.d.ts.map +1 -0
- package/types/core/engine/command/actions.d.ts +38 -0
- package/types/core/engine/command/actions.d.ts.map +1 -0
- package/types/core/engine/command/addText.d.ts +68 -0
- package/types/core/engine/command/addText.d.ts.map +1 -0
- package/types/core/engine/command/android.d.ts +39 -0
- package/types/core/engine/command/android.d.ts.map +1 -0
- package/types/core/engine/command/cache.d.ts +53 -0
- package/types/core/engine/command/cache.d.ts.map +1 -0
- package/types/core/engine/command/chromeDevToolsProtocol.d.ts +61 -0
- package/types/core/engine/command/chromeDevToolsProtocol.d.ts.map +1 -0
- package/types/core/engine/command/chromeTrace.d.ts +45 -0
- package/types/core/engine/command/chromeTrace.d.ts.map +1 -0
- package/types/core/engine/command/click.d.ts +151 -0
- package/types/core/engine/command/click.d.ts.map +1 -0
- package/types/core/engine/command/debug.d.ts +28 -0
- package/types/core/engine/command/debug.d.ts.map +1 -0
- package/types/core/engine/command/element.d.ts +49 -0
- package/types/core/engine/command/element.d.ts.map +1 -0
- package/types/core/engine/command/geckoProfiler.d.ts +46 -0
- package/types/core/engine/command/geckoProfiler.d.ts.map +1 -0
- package/types/core/engine/command/javaScript.d.ts +63 -0
- package/types/core/engine/command/javaScript.d.ts.map +1 -0
- package/types/core/engine/command/measure.d.ts +194 -0
- package/types/core/engine/command/measure.d.ts.map +1 -0
- package/types/core/engine/command/meta.d.ts +23 -0
- package/types/core/engine/command/meta.d.ts.map +1 -0
- package/types/core/engine/command/mouse/clickAndHold.d.ts +82 -0
- package/types/core/engine/command/mouse/clickAndHold.d.ts.map +1 -0
- package/types/core/engine/command/mouse/contextClick.d.ts +44 -0
- package/types/core/engine/command/mouse/contextClick.d.ts.map +1 -0
- package/types/core/engine/command/mouse/doubleClick.d.ts +51 -0
- package/types/core/engine/command/mouse/doubleClick.d.ts.map +1 -0
- package/types/core/engine/command/mouse/index.d.ts +6 -0
- package/types/core/engine/command/mouse/index.d.ts.map +1 -0
- package/types/core/engine/command/mouse/mouseMove.d.ts +56 -0
- package/types/core/engine/command/mouse/mouseMove.d.ts.map +1 -0
- package/types/core/engine/command/mouse/singleClick.d.ts +115 -0
- package/types/core/engine/command/mouse/singleClick.d.ts.map +1 -0
- package/types/core/engine/command/navigation.d.ts +45 -0
- package/types/core/engine/command/navigation.d.ts.map +1 -0
- package/types/core/engine/command/screenshot.d.ts +33 -0
- package/types/core/engine/command/screenshot.d.ts.map +1 -0
- package/types/core/engine/command/scroll.d.ts +52 -0
- package/types/core/engine/command/scroll.d.ts.map +1 -0
- package/types/core/engine/command/select.d.ts +81 -0
- package/types/core/engine/command/select.d.ts.map +1 -0
- package/types/core/engine/command/set.d.ts +74 -0
- package/types/core/engine/command/set.d.ts.map +1 -0
- package/types/core/engine/command/stopWatch.d.ts +49 -0
- package/types/core/engine/command/stopWatch.d.ts.map +1 -0
- package/types/core/engine/command/switch.d.ts +77 -0
- package/types/core/engine/command/switch.d.ts.map +1 -0
- package/types/core/engine/command/util/lcpHighlightScript.d.ts +2 -0
- package/types/core/engine/command/util/lcpHighlightScript.d.ts.map +1 -0
- package/types/core/engine/command/util/lsHighlightScript.d.ts +2 -0
- package/types/core/engine/command/util/lsHighlightScript.d.ts.map +1 -0
- package/types/core/engine/command/wait.d.ts +74 -0
- package/types/core/engine/command/wait.d.ts.map +1 -0
- package/types/core/engine/commands.d.ts +161 -0
- package/types/core/engine/commands.d.ts.map +1 -0
- package/types/core/engine/context.d.ts +87 -0
- package/types/core/engine/context.d.ts.map +1 -0
- package/types/firefox/geckoProfiler.d.ts +11 -0
- package/types/firefox/geckoProfiler.d.ts.map +1 -0
- package/types/firefox/settings/geckoProfilerDefaults.d.ts +8 -0
- package/types/firefox/settings/geckoProfilerDefaults.d.ts.map +1 -0
- package/types/scripting.d.ts +2 -0
- package/types/support/engineUtils.d.ts +5 -0
- package/types/support/engineUtils.d.ts.map +1 -0
- package/types/support/errors.d.ts +15 -0
- package/types/support/errors.d.ts.map +1 -0
- package/types/support/fileUtil.d.ts +10 -0
- package/types/support/fileUtil.d.ts.map +1 -0
- package/types/support/filters.d.ts +7 -0
- package/types/support/filters.d.ts.map +1 -0
- package/types/support/getViewPort.d.ts +2 -0
- package/types/support/getViewPort.d.ts.map +1 -0
- package/types/support/pathToFolder.d.ts +2 -0
- package/types/support/pathToFolder.d.ts.map +1 -0
- package/types/support/storageManager.d.ts +17 -0
- package/types/support/storageManager.d.ts.map +1 -0
- package/types/support/tcpdump.d.ts +10 -0
- package/types/support/tcpdump.d.ts.map +1 -0
- package/types/support/userTiming.d.ts +2 -0
- package/types/support/userTiming.d.ts.map +1 -0
- package/types/support/util.d.ts +6 -0
- package/types/support/util.d.ts.map +1 -0
- package/types/video/defaults.d.ts +7 -0
- package/types/video/defaults.d.ts.map +1 -0
- package/types/video/postprocessing/finetune/addTextToVideo.d.ts +2 -0
- package/types/video/postprocessing/finetune/addTextToVideo.d.ts.map +1 -0
- package/types/video/postprocessing/finetune/convertFps.d.ts +2 -0
- package/types/video/postprocessing/finetune/convertFps.d.ts.map +1 -0
- package/types/video/postprocessing/finetune/getFont.d.ts +2 -0
- package/types/video/postprocessing/finetune/getFont.d.ts.map +1 -0
- package/types/video/postprocessing/finetune/getTimingMetrics.d.ts +2 -0
- package/types/video/postprocessing/finetune/getTimingMetrics.d.ts.map +1 -0
- package/types/video/postprocessing/finetune/index.d.ts +2 -0
- package/types/video/postprocessing/finetune/index.d.ts.map +1 -0
- package/types/video/postprocessing/finetune/removeOrange.d.ts +2 -0
- package/types/video/postprocessing/finetune/removeOrange.d.ts.map +1 -0
- package/types/video/postprocessing/visualmetrics/extraMetrics.d.ts +5 -0
- package/types/video/postprocessing/visualmetrics/extraMetrics.d.ts.map +1 -0
- package/types/video/postprocessing/visualmetrics/getVideoMetrics.d.ts +5 -0
- package/types/video/postprocessing/visualmetrics/getVideoMetrics.d.ts.map +1 -0
- package/types/video/postprocessing/visualmetrics/visualMetrics.d.ts +3 -0
- package/types/video/postprocessing/visualmetrics/visualMetrics.d.ts.map +1 -0
- package/types/video/screenRecording/android/recorder.d.ts +11 -0
- package/types/video/screenRecording/android/recorder.d.ts.map +1 -0
- package/types/video/screenRecording/desktop/convert.d.ts +2 -0
- package/types/video/screenRecording/desktop/convert.d.ts.map +1 -0
- package/types/video/screenRecording/desktop/desktopRecorder.d.ts +28 -0
- package/types/video/screenRecording/desktop/desktopRecorder.d.ts.map +1 -0
- package/types/video/screenRecording/desktop/ffmpegRecorder.d.ts +17 -0
- package/types/video/screenRecording/desktop/ffmpegRecorder.d.ts.map +1 -0
- package/types/video/screenRecording/desktop/osx/getSPDisplaysDataType.d.ts +2 -0
- package/types/video/screenRecording/desktop/osx/getSPDisplaysDataType.d.ts.map +1 -0
- package/types/video/screenRecording/desktop/osx/getScreen.d.ts +2 -0
- package/types/video/screenRecording/desktop/osx/getScreen.d.ts.map +1 -0
- package/types/video/screenRecording/firefox/firefoxWindowRecorder.d.ts +13 -0
- package/types/video/screenRecording/firefox/firefoxWindowRecorder.d.ts.map +1 -0
- package/types/video/screenRecording/ios/convertToMp4.d.ts +2 -0
- package/types/video/screenRecording/ios/convertToMp4.d.ts.map +1 -0
- package/types/video/screenRecording/ios/iosRecorder.d.ts +14 -0
- package/types/video/screenRecording/ios/iosRecorder.d.ts.map +1 -0
- package/types/video/screenRecording/iosSimulator/convertToMp4.d.ts +2 -0
- package/types/video/screenRecording/iosSimulator/convertToMp4.d.ts.map +1 -0
- package/types/video/screenRecording/iosSimulator/recorder.d.ts +9 -0
- package/types/video/screenRecording/iosSimulator/recorder.d.ts.map +1 -0
- package/types/video/screenRecording/recorder.d.ts +7 -0
- package/types/video/screenRecording/recorder.d.ts.map +1 -0
- package/types/video/screenRecording/setOrangeBackground.d.ts +2 -0
- package/types/video/screenRecording/setOrangeBackground.d.ts.map +1 -0
- package/types/video/video.d.ts +41 -0
- package/types/video/video.d.ts.map +1 -0
- package/CONTRIBUTING.md +0 -24
- package/browsersupport/firefox-profile/cert9.db +0 -0
- package/browsersupport/firefox-profile/chrome/userChrome.css +0 -4
- package/browsersupport/firefox-profile/key4.db +0 -0
- package/docs/examples/README.md +0 -9
- package/docs/examples/advance.md +0 -12
- package/docs/examples/android.md +0 -54
- package/docs/examples/basic.md +0 -36
- package/docs/examples/chrome.md +0 -28
- package/docs/examples/firefox.md +0 -10
- package/docs/issues.md +0 -18
- package/docs/new-style-script-objects.md +0 -38
- package/docs/sequence-diagrams/loadAndWait.wsd +0 -24
- package/docs/sequence-diagrams/run.wsd +0 -24
- package/vendor/mac/x86/qvh +0 -0
- package/visualmetrics/__init__.py +0 -1
- package/visualmetrics/test_data/ms_000000.png +0 -0
- package/visualmetrics/test_data/ms_000920.png +0 -0
- package/visualmetrics/test_data/ms_001000.png +0 -0
- package/visualmetrics/test_data/ms_001080.png +0 -0
- package/visualmetrics/test_data/ms_001200.png +0 -0
- package/visualmetrics/test_data/ms_001240.png +0 -0
- package/visualmetrics/test_data/ms_001280.png +0 -0
- package/visualmetrics/test_data/ms_001360.png +0 -0
- package/visualmetrics/test_data/ms_001400.png +0 -0
- package/visualmetrics/test_data/ms_001520.png +0 -0
- package/visualmetrics/test_data/ms_002040.png +0 -0
- package/visualmetrics/test_data/ms_002600.png +0 -0
- package/visualmetrics/test_data/ms_003160.png +0 -0
- package/visualmetrics/test_data/ms_003720.png +0 -0
- package/visualmetrics/test_data/ms_004280.png +0 -0
- package/visualmetrics/test_data/ms_004880.png +0 -0
- package/visualmetrics/test_data/ms_005440.png +0 -0
- package/visualmetrics/test_data/ms_006000.png +0 -0
- package/visualmetrics/test_visualmetrics.py +0 -34
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {Object} Logger
|
|
3
|
+
* @property {function(string): void} trace - Function to log trace messages.
|
|
4
|
+
* @property {function(string): void} verbose - Function to log verbose messages.
|
|
5
|
+
* @property {function(string): void} info - Function to log info messages.
|
|
6
|
+
* @property {function(string): void} warn - Function to log warning messages.
|
|
7
|
+
* @property {function(string): void} error - Function to log error messages.
|
|
8
|
+
* @property {function(string): void} critical - Function to log critical messages.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* @typedef {typeof import('selenium-webdriver')} WebDriverClass
|
|
12
|
+
* @typedef {import('selenium-webdriver').WebDriver} WebDriverInstance
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Class representing the context of a Browsertime run.
|
|
16
|
+
* @hideconstructor
|
|
17
|
+
* @class
|
|
18
|
+
*/
|
|
19
|
+
export class Context {
|
|
20
|
+
constructor(options: any, result: any, log: any, storageManager: any, index: any, webdriver: any, instantiatedDriver: any);
|
|
21
|
+
/**
|
|
22
|
+
* This is the yargs object you get from the cli. If you add --my.id you can get that using options.my.id.
|
|
23
|
+
* @type {Object}
|
|
24
|
+
*/
|
|
25
|
+
options: any;
|
|
26
|
+
/**
|
|
27
|
+
* Here the result from each run is stored.
|
|
28
|
+
* @type {Object}
|
|
29
|
+
*/
|
|
30
|
+
result: any;
|
|
31
|
+
/**
|
|
32
|
+
* @type {Logger}
|
|
33
|
+
*/
|
|
34
|
+
log: Logger;
|
|
35
|
+
/**
|
|
36
|
+
* The index of the iteration.
|
|
37
|
+
* @type {number}
|
|
38
|
+
*/
|
|
39
|
+
index: number;
|
|
40
|
+
/**
|
|
41
|
+
* Storage manager to save things to disk.
|
|
42
|
+
* @type {import('../../support/storageManager.js').StorageManager}
|
|
43
|
+
*/
|
|
44
|
+
storageManager: import('../../support/storageManager.js').StorageManager;
|
|
45
|
+
/**
|
|
46
|
+
* @type {Object}
|
|
47
|
+
*/
|
|
48
|
+
taskData: any;
|
|
49
|
+
/**
|
|
50
|
+
* Get raw Selenium functionality.
|
|
51
|
+
* @see https://www.selenium.dev/selenium/docs/api/javascript/module/selenium-webdriver/index.html
|
|
52
|
+
* @type {{webdriver: WebDriverClass, driver: WebDriverInstance}}
|
|
53
|
+
*/
|
|
54
|
+
selenium: {
|
|
55
|
+
webdriver: typeof import("selenium-webdriver");
|
|
56
|
+
driver: import("selenium-webdriver").WebDriver;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export type Logger = {
|
|
60
|
+
/**
|
|
61
|
+
* - Function to log trace messages.
|
|
62
|
+
*/
|
|
63
|
+
trace: (arg0: string) => void;
|
|
64
|
+
/**
|
|
65
|
+
* - Function to log verbose messages.
|
|
66
|
+
*/
|
|
67
|
+
verbose: (arg0: string) => void;
|
|
68
|
+
/**
|
|
69
|
+
* - Function to log info messages.
|
|
70
|
+
*/
|
|
71
|
+
info: (arg0: string) => void;
|
|
72
|
+
/**
|
|
73
|
+
* - Function to log warning messages.
|
|
74
|
+
*/
|
|
75
|
+
warn: (arg0: string) => void;
|
|
76
|
+
/**
|
|
77
|
+
* - Function to log error messages.
|
|
78
|
+
*/
|
|
79
|
+
error: (arg0: string) => void;
|
|
80
|
+
/**
|
|
81
|
+
* - Function to log critical messages.
|
|
82
|
+
*/
|
|
83
|
+
critical: (arg0: string) => void;
|
|
84
|
+
};
|
|
85
|
+
export type WebDriverClass = typeof import('selenium-webdriver');
|
|
86
|
+
export type WebDriverInstance = import('selenium-webdriver').WebDriver;
|
|
87
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../lib/core/engine/context.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AAEH;;;;GAIG;AACH;IACE,2HA0DC;IAjDC;;;OAGG;IACH,aAAsB;IAEtB;;;OAGG;IACH,YAAoB;IAEpB;;OAEG;IACH,KAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,OAFU,MAAM,CAEE;IAElB;;;OAGG;IACH,gBAFU,OAAO,iCAAiC,EAAE,cAAc,CAE9B;IAEpC;;OAEG;IACH,cAAkB;IAElB;;;;OAIG;IACH;;;MASC;CAEJ;;;;;kBA9EsB,MAAM,KAAG,IAAI;;;;oBACb,MAAM,KAAG,IAAI;;;;iBACb,MAAM,KAAG,IAAI;;;;iBACb,MAAM,KAAG,IAAI;;;;kBACb,MAAM,KAAG,IAAI;;;;qBACb,MAAM,KAAG,IAAI;;6BAIvB,cAAc,oBAAoB,CAAC;gCACnC,OAAO,oBAAoB,EAAE,SAAS"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class GeckoProfiler {
|
|
2
|
+
constructor(runner: any, storageManager: any, options: any);
|
|
3
|
+
runner: any;
|
|
4
|
+
storageManager: any;
|
|
5
|
+
firefoxConfig: any;
|
|
6
|
+
options: any;
|
|
7
|
+
start(): Promise<any>;
|
|
8
|
+
stop(index: any, url: any, result: any): Promise<void>;
|
|
9
|
+
addMetaData(): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=geckoProfiler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geckoProfiler.d.ts","sourceRoot":"","sources":["../../lib/firefox/geckoProfiler.js"],"names":[],"mappings":"AAmDA;IACE,4DAKC;IAJC,YAAoB;IACpB,oBAAoC;IACpC,mBAAoC;IACpC,aAAsB;IAGxB,sBA2FC;IAED,uDAgGC;IAED,oBAAgB;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geckoProfilerDefaults.d.ts","sourceRoot":"","sources":["../../../lib/firefox/settings/geckoProfilerDefaults.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export function loadPrePostScripts(scripts: any, options: any): Promise<any[]>;
|
|
2
|
+
export function loadPageCompleteScript(script: any): Promise<any>;
|
|
3
|
+
export function loadScript(script: any, options: any, throwError: any): Promise<any>;
|
|
4
|
+
export function timestamp(): string;
|
|
5
|
+
//# sourceMappingURL=engineUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engineUtils.d.ts","sourceRoot":"","sources":["../../lib/support/engineUtils.js"],"names":[],"mappings":"AAgFA,+EAOC;AAED,kEAKC;AAED,qFAKC;AACD,oCAEC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class BrowsertimeError extends Error {
|
|
2
|
+
constructor(message: any, extra: any);
|
|
3
|
+
extra: any;
|
|
4
|
+
}
|
|
5
|
+
export class BrowserError extends BrowsertimeError {
|
|
6
|
+
}
|
|
7
|
+
export class UrlLoadError extends BrowsertimeError {
|
|
8
|
+
constructor(message: any, url: any, extra: any);
|
|
9
|
+
url: any;
|
|
10
|
+
}
|
|
11
|
+
export class TimeoutError extends BrowsertimeError {
|
|
12
|
+
constructor(message: any, url: any, extra: any);
|
|
13
|
+
url: any;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../lib/support/errors.js"],"names":[],"mappings":"AAAA;IACE,sCAIC;IAFC,WAAwB;CAG3B;AAED;CAIC;AAED;IACE,gDAGC;IADC,SAAc;CAEjB;AAED;IACE,gDAGC;IADC,SAAc;CAEjB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function rename(old: any, newName: any): Promise<void>;
|
|
2
|
+
export function copyFileSync(source: any, destination: any): void;
|
|
3
|
+
export function removeFileSync(fileName: any): Promise<void>;
|
|
4
|
+
export function copyFile(source: any, destination: any): Promise<void>;
|
|
5
|
+
export function removeFile(fileName: any): Promise<void>;
|
|
6
|
+
export function readFile(fileName: any): Promise<Buffer>;
|
|
7
|
+
export function removeDirAndFiles(dirName: any): Promise<void>;
|
|
8
|
+
export function removeByType(dir: any, type: any): Promise<void>;
|
|
9
|
+
export function findFiles(dir: any, filter: any): Promise<string[]>;
|
|
10
|
+
//# sourceMappingURL=fileUtil.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileUtil.d.ts","sourceRoot":"","sources":["../../lib/support/fileUtil.js"],"names":[],"mappings":"AAwBA,8DAEC;AAED,kEAEC;AAED,6DAEC;AAED,uEAEC;AACD,yDAEC;AACD,yDAEC;AACD,+DAqBC;AACD,iEAUC;AACD,oEAMC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filters to use with Array.prototype.filter, e.g. ['/a/path', '/another/path'].filter(onlyFiles)
|
|
3
|
+
*/
|
|
4
|
+
export function onlyWithExtension(extension: any): (filepath: any) => boolean;
|
|
5
|
+
export function onlyFiles(filepath: any): Promise<boolean>;
|
|
6
|
+
export function onlyDirectories(filepath: any): Promise<boolean>;
|
|
7
|
+
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../lib/support/filters.js"],"names":[],"mappings":"AAKA;;GAEG;AACH,8EAEC;AACD,2DAGC;AACD,iEAGC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getViewPort.d.ts","sourceRoot":"","sources":["../../lib/support/getViewPort.js"],"names":[],"mappings":"AA+BA,+CAkCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pathToFolder.d.ts","sourceRoot":"","sources":["../../lib/support/pathToFolder.js"],"names":[],"mappings":"AAWA,6DAwDC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export class StorageManager {
|
|
2
|
+
constructor(url: any, { resultDir, prettyPrint }?: {
|
|
3
|
+
resultDir: any;
|
|
4
|
+
prettyPrint?: boolean;
|
|
5
|
+
});
|
|
6
|
+
baseDir: string;
|
|
7
|
+
jsonIndentation: number;
|
|
8
|
+
createDataDir(): Promise<string>;
|
|
9
|
+
createSubDataDir(...name: any[]): Promise<string>;
|
|
10
|
+
rm(filename: any): Promise<void>;
|
|
11
|
+
writeData(filename: any, data: any, subdir: any): Promise<string>;
|
|
12
|
+
writeJson(filename: any, json: any, shouldGzip: any): Promise<string>;
|
|
13
|
+
readData(filename: any, subdir: any): Promise<string | Buffer>;
|
|
14
|
+
gzip(inputFile: any, outputFile: any, removeInput: any): Promise<any>;
|
|
15
|
+
get directory(): string;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=storageManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storageManager.d.ts","sourceRoot":"","sources":["../../lib/support/storageManager.js"],"names":[],"mappings":"AAmDA;IACE;;;OAKC;IAJC,gBAEyD;IACzD,wBAA0C;IAG5C,iCAGC;IAED,kDAIC;IAED,iCAEC;IAED,kEASC;IAED,sEAQC;IAED,+DAcC;IAED,sEAmBC;IAED,wBAEC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export class TCPDump {
|
|
2
|
+
constructor(directory: any, options: any);
|
|
3
|
+
baseDir: any;
|
|
4
|
+
options: any;
|
|
5
|
+
start(iteration: any): Promise<void>;
|
|
6
|
+
tcpdumpProcess: import("execa").ExecaChildProcess<string>;
|
|
7
|
+
stop(): Promise<import("execa").ExecaReturnValue<string>>;
|
|
8
|
+
mv(url: any, iteration: any): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=tcpdump.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tcpdump.d.ts","sourceRoot":"","sources":["../../lib/support/tcpdump.js"],"names":[],"mappings":"AAKA;IACE,0CAGC;IAFC,aAAwB;IACxB,aAAsB;IAExB,qCAsBC;IADC,0DAA+C;IAEjD,0DAEC;IAED,4CAQC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userTiming.d.ts","sourceRoot":"","sources":["../../lib/support/userTiming.js"],"names":[],"mappings":"AAAA,+EAMC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export function formatMetric(name: any, metric: any, multiple: any, inMs: any, extras: any): string;
|
|
2
|
+
export function logResultLogLine(results: any): void;
|
|
3
|
+
export function toArray(arrayLike: any): any[];
|
|
4
|
+
export function jsonifyVisualProgress(visualProgress: any): any;
|
|
5
|
+
export function adjustVisualProgressTimestamps(visualProgress: any, profilerStartTime: any, recordingStartTime: any): any;
|
|
6
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../lib/support/util.js"],"names":[],"mappings":"AAIA,oGAeC;AACD,qDA0LC;AACD,+CAQC;AACD,gEAeC;AACD,0HAWC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../lib/video/defaults.js"],"names":[],"mappings":"AAAA,2BAA4B;AAC5B,qBAAsB;AACtB,6BAA8B;AAC9B,4BAA6B;AAC7B,2BAA4B;AAC5B,wBAAyB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addTextToVideo.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/addTextToVideo.js"],"names":[],"mappings":"AAgBA,wKAiCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertFps.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/convertFps.js"],"names":[],"mappings":"AAIA,0HAWC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFont.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/getFont.js"],"names":[],"mappings":"AACA,8CA6BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTimingMetrics.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/getTimingMetrics.js"],"names":[],"mappings":"AAgCA,8FAsDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/index.js"],"names":[],"mappings":"AAmBA,6IAmEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeOrange.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/removeOrange.js"],"names":[],"mappings":"AAIA,kKAkBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extraMetrics.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/visualmetrics/extraMetrics.js"],"names":[],"mappings":"AAAA;;;EA8CC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export function getVideoMetrics(videoDir: any, filmstripDir: any, videoPath: any, index: any, visualElements: any, storageManager: any, pageNumber: any, visitedPageNumber: any, options: any): Promise<{
|
|
2
|
+
videoRecordingStart: any;
|
|
3
|
+
visualMetrics: any;
|
|
4
|
+
}>;
|
|
5
|
+
//# sourceMappingURL=getVideoMetrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVideoMetrics.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/visualmetrics/getVideoMetrics.js"],"names":[],"mappings":"AAMA;;;GA+CC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export function checkDependencies(options: any): Promise<import("execa").ExecaReturnValue<string>>;
|
|
2
|
+
export function run(videoPath: any, imageDirPath: any, elementsFile: any, videoDir: any, index: any, pageNumber: any, visitedPageNumber: any, options: any): Promise<any>;
|
|
3
|
+
//# sourceMappingURL=visualMetrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visualMetrics.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/visualmetrics/visualMetrics.js"],"names":[],"mappings":"AAsCA,mGAEC;AACD,0KAiHC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class AndroidRecorder {
|
|
2
|
+
constructor(options: any);
|
|
3
|
+
waitTime: any;
|
|
4
|
+
framerate: any;
|
|
5
|
+
options: any;
|
|
6
|
+
start(): Promise<any>;
|
|
7
|
+
android: Android;
|
|
8
|
+
stop(destination: any): Promise<any>;
|
|
9
|
+
}
|
|
10
|
+
import { Android } from '../../../android/index.js';
|
|
11
|
+
//# sourceMappingURL=recorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/android/recorder.js"],"names":[],"mappings":"AAUA;IACE,0BAIC;IAHC,cAAsE;IACtE,eAAiE;IACjE,aAAsB;IAGxB,sBAGC;IAFC,iBAAwC;IAI1C,qCAgBC;CACF;wBAlCuB,2BAA2B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/desktop/convert.js"],"names":[],"mappings":"AAIA,kIAwBC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export class DesktopRecorder {
|
|
2
|
+
constructor(options: any);
|
|
3
|
+
display: any;
|
|
4
|
+
framerate: any;
|
|
5
|
+
nice: any;
|
|
6
|
+
crf: any;
|
|
7
|
+
convert: any;
|
|
8
|
+
threads: any;
|
|
9
|
+
viewPort: any;
|
|
10
|
+
taskset: any;
|
|
11
|
+
origin: string;
|
|
12
|
+
offset: {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
};
|
|
16
|
+
options: any;
|
|
17
|
+
start(file: any): Promise<{
|
|
18
|
+
filePath: any;
|
|
19
|
+
ffmpegProcess: any;
|
|
20
|
+
}>;
|
|
21
|
+
filePath: any;
|
|
22
|
+
recording: Promise<{
|
|
23
|
+
filePath: any;
|
|
24
|
+
ffmpegProcess: any;
|
|
25
|
+
}>;
|
|
26
|
+
stop(destination: any): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=desktopRecorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktopRecorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/desktop/desktopRecorder.js"],"names":[],"mappings":"AAkBA;IACE,0BAYC;IAXC,aAA8D;IAC9D,eAAkE;IAClE,UAA+C;IAC/C,SAAgD;IAChD,aAA4D;IAC5D,aAA4D;IAC5D,cAAoC;IACpC,aAAkD;IAClD,eAAmB;IACnB;;;MAA4B;IAC5B,aAAsB;IAGxB;;;OAiBC;IAhBC,cAAoB;IAEpB;;;OAWE;IAKJ,sCA8BC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function start({ display, origin, size, filePath, offset, framerate, crf, nice, threads, taskset }: {
|
|
2
|
+
display: any;
|
|
3
|
+
origin: any;
|
|
4
|
+
size: any;
|
|
5
|
+
filePath: any;
|
|
6
|
+
offset: any;
|
|
7
|
+
framerate: any;
|
|
8
|
+
crf: any;
|
|
9
|
+
nice: any;
|
|
10
|
+
threads: any;
|
|
11
|
+
taskset: any;
|
|
12
|
+
}): Promise<{
|
|
13
|
+
filePath: any;
|
|
14
|
+
ffmpegProcess: any;
|
|
15
|
+
}>;
|
|
16
|
+
export function stop(recording: any): Promise<any>;
|
|
17
|
+
//# sourceMappingURL=ffmpegRecorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ffmpegRecorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/desktop/ffmpegRecorder.js"],"names":[],"mappings":"AAsIA;;;;;;;;;;;;;;GAiCC;AACD,mDAaC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSPDisplaysDataType.d.ts","sourceRoot":"","sources":["../../../../../lib/video/screenRecording/desktop/osx/getSPDisplaysDataType.js"],"names":[],"mappings":"AAEA,yDAKC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getScreen.d.ts","sourceRoot":"","sources":["../../../../../lib/video/screenRecording/desktop/osx/getScreen.js"],"names":[],"mappings":"AAIA,kDA0BC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class FirefoxWindowRecorder {
|
|
2
|
+
constructor(options: any, browser: any, baseDir: any);
|
|
3
|
+
options: any;
|
|
4
|
+
browser: any;
|
|
5
|
+
baseDir: any;
|
|
6
|
+
recordingStartTime: any;
|
|
7
|
+
timeToFirstFrame: number;
|
|
8
|
+
start(): Promise<any>;
|
|
9
|
+
android: Android;
|
|
10
|
+
stop(destination: any): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
import { Android } from '../../../android/index.js';
|
|
13
|
+
//# sourceMappingURL=firefoxWindowRecorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firefoxWindowRecorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/firefox/firefoxWindowRecorder.js"],"names":[],"mappings":"AAqJA;IACE,sDAMC;IALC,aAAsB;IACtB,aAAsB;IACtB,aAAsB;IACtB,wBAAmC;IACnC,yBAAiC;IAGnC,sBAYC;IARG,iBAAwC;IAU5C,sCAgCC;CACF;wBAjM4C,2BAA2B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertToMp4.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/ios/convertToMp4.js"],"names":[],"mappings":"AAIA,0GAiBC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export class IOSRecorder {
|
|
2
|
+
static activate(): Promise<NodeJS.WriteStream & {
|
|
3
|
+
fd: 1;
|
|
4
|
+
}>;
|
|
5
|
+
constructor(options: any, baseDir: any);
|
|
6
|
+
options: any;
|
|
7
|
+
uuid: any;
|
|
8
|
+
tmpVideo: string;
|
|
9
|
+
tmpSound: string;
|
|
10
|
+
start(): Promise<void>;
|
|
11
|
+
qvhProcessProcess: import("execa").ExecaChildProcess<string>;
|
|
12
|
+
stop(destination: any): Promise<import("execa").ExecaReturnValue<string>>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=iosRecorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iosRecorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/ios/iosRecorder.js"],"names":[],"mappings":"AAeA;IAQE;;OAMC;IAbD,wCAKC;IAJC,aAAsB;IACtB,UAAqC;IACrC,iBAAyC;IACzC,iBAAwC;IAW1C,uBAqBC;IAlBC,6DAQC;IAYH,0EAaC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertToMp4.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/iosSimulator/convertToMp4.js"],"names":[],"mappings":"AAIA,0GAiBC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class IOSSimulatorRecorder {
|
|
2
|
+
constructor(options: any, baseDir: any);
|
|
3
|
+
options: any;
|
|
4
|
+
tmpVideo: string;
|
|
5
|
+
start(): Promise<void>;
|
|
6
|
+
xcrunProcess: import("execa").ExecaChildProcess<string>;
|
|
7
|
+
stop(destination: any): Promise<import("execa").ExecaReturnValue<string>>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=recorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/iosSimulator/recorder.js"],"names":[],"mappings":"AAUA;IACE,wCAGC;IAFC,aAAsB;IACtB,iBAA6C;IAG/C,uBAUC;IAPC,wDAMC;IAGH,0EAWC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function getRecorder(options: any, browser: any, baseDir: any): AndroidRecorder | DesktopRecorder | FirefoxWindowRecorder | IOSSimulatorRecorder | IOSRecorder;
|
|
2
|
+
import { AndroidRecorder } from './android/recorder.js';
|
|
3
|
+
import { DesktopRecorder } from './desktop/desktopRecorder.js';
|
|
4
|
+
import { FirefoxWindowRecorder } from './firefox/firefoxWindowRecorder.js';
|
|
5
|
+
import { IOSSimulatorRecorder } from './iosSimulator/recorder.js';
|
|
6
|
+
import { IOSRecorder } from './ios/iosRecorder.js';
|
|
7
|
+
//# sourceMappingURL=recorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../../lib/video/screenRecording/recorder.js"],"names":[],"mappings":"AAOA,sKA0BC;gCAhC+B,uBAAuB;gCACvB,8BAA8B;sCACxB,oCAAoC;qCACrC,4BAA4B;4BACrC,sBAAsB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setOrangeBackground.d.ts","sourceRoot":"","sources":["../../../lib/video/screenRecording/setOrangeBackground.js"],"names":[],"mappings":"AAGA,+DAyBC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create a new Video that handles everything with the video
|
|
3
|
+
* @class
|
|
4
|
+
*/
|
|
5
|
+
export class Video {
|
|
6
|
+
constructor(storageManager: any, options: any, browser: any);
|
|
7
|
+
options: any;
|
|
8
|
+
storageManager: any;
|
|
9
|
+
tmpDir: any;
|
|
10
|
+
recorder: import("./screenRecording/android/recorder.js").AndroidRecorder | import("./screenRecording/desktop/desktopRecorder.js").DesktopRecorder | import("./screenRecording/firefox/firefoxWindowRecorder.js").FirefoxWindowRecorder | import("./screenRecording/iosSimulator/recorder.js").IOSSimulatorRecorder | import("./screenRecording/ios/iosRecorder.js").IOSRecorder;
|
|
11
|
+
isRecording: boolean;
|
|
12
|
+
setupDirs(index: any, url: any): Promise<void>;
|
|
13
|
+
index: any;
|
|
14
|
+
videoDir: any;
|
|
15
|
+
filmstripDir: any;
|
|
16
|
+
/**
|
|
17
|
+
* Start recoding a video.
|
|
18
|
+
* @returns {Promise} Promise object that represents when the video started
|
|
19
|
+
*/
|
|
20
|
+
record(pageNumber: any, index: any, visitedPageNumber: any): Promise<any>;
|
|
21
|
+
pageNumber: any;
|
|
22
|
+
visitedPageNumber: any;
|
|
23
|
+
/**
|
|
24
|
+
* Stop recording the video.
|
|
25
|
+
* @returns {Promise} Promise object that represents when the video stopped
|
|
26
|
+
*/
|
|
27
|
+
stop(url: any): Promise<any>;
|
|
28
|
+
videoPath: string;
|
|
29
|
+
cleanup(): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
Post process video: get visual metrics, finetune the video and remove it
|
|
32
|
+
if you don't want it
|
|
33
|
+
*/
|
|
34
|
+
postProcessing(timingMetrics: any, visualElements: any): Promise<{
|
|
35
|
+
videoRecordingStart: any;
|
|
36
|
+
visualMetrics: any;
|
|
37
|
+
}>;
|
|
38
|
+
getRecordingStartTime(): any;
|
|
39
|
+
getTimeToFirstFrame(): any;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=video.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../lib/video/video.js"],"names":[],"mappings":"AAQA;;;GAGG;AACH;IACE,6DAMC;IALC,aAAsB;IACtB,oBAAoC;IACpC,YAAsC;IACtC,iXAA0D;IAC1D,qBAAwB;IAG1B,+CAeC;IAbC,WAAkB;IAElB,cAEC;IAMD,kBAEC;IAGH;;;OAGG;IACH,0EAUC;IATC,gBAA4B;IAE5B,uBAA0C;IAS5C;;;OAGG;IACH,6BAUC;IARC,kBAKC;IAKH,yBAUC;IAED;;;OAGG;IACH;;;OA0BC;IAED,6BAEC;IAED,2BAEC;CACF"}
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# How to contribute
|
|
2
|
-
Browser Time (it's browser time!) needs help from the users so please contribute!
|
|
3
|
-
|
|
4
|
-
## Making changes
|
|
5
|
-
If you want help out, that's great! Check the issue list and see if there's something there you want to do and drop Peter a note so we know and we can help you get into the project.
|
|
6
|
-
- Create a new branch for your change
|
|
7
|
-
- Make commits of logical units and write an informative message
|
|
8
|
-
- Make sure you have added the tests needed for your change
|
|
9
|
-
- Run all the tests to make sure you haven't broken anything else (it happens to the best!)
|
|
10
|
-
|
|
11
|
-
## Add a defect
|
|
12
|
-
First, check the defect/bug list https://github.com/sitespeedio/browsertime/issues?q=is%3Aissue+is%3Aopen+label%3Abug to make sure that it hasn't been filed yet.
|
|
13
|
-
|
|
14
|
-
If you find a defect, please file a bug report and follow the instructions in https://www.sitespeed.io/documentation/sitespeed.io/bug-report/
|
|
15
|
-
|
|
16
|
-
If you have the skills & the time, it is perfect if you send a pull request with a fix, that helps me alot!
|
|
17
|
-
|
|
18
|
-
## Add a change request/new functionality request
|
|
19
|
-
If you have an idea or something that you want Browser Time to handle, add an issue and lets discuss it there. Ideas/changes/requests are very very welcome!
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
Thanks for your support & time!
|
|
23
|
-
|
|
24
|
-
Peter
|
|
Binary file
|