testplane 8.40.7 → 8.40.9

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.
Files changed (35) hide show
  1. package/build/package.json +1 -1
  2. package/build/src/browser/cdp/selectivity/constants.d.ts +2 -0
  3. package/build/src/browser/cdp/selectivity/constants.js +3 -1
  4. package/build/src/browser/cdp/selectivity/constants.js.map +1 -1
  5. package/build/src/browser/cdp/selectivity/css-selectivity.d.ts +1 -0
  6. package/build/src/browser/cdp/selectivity/css-selectivity.js +102 -64
  7. package/build/src/browser/cdp/selectivity/css-selectivity.js.map +1 -1
  8. package/build/src/browser/cdp/selectivity/fs-cache.d.ts +9 -0
  9. package/build/src/browser/cdp/selectivity/fs-cache.js +100 -0
  10. package/build/src/browser/cdp/selectivity/fs-cache.js.map +1 -0
  11. package/build/src/browser/cdp/selectivity/hash-provider.js +1 -1
  12. package/build/src/browser/cdp/selectivity/hash-provider.js.map +1 -1
  13. package/build/src/browser/cdp/selectivity/index.js +7 -1
  14. package/build/src/browser/cdp/selectivity/index.js.map +1 -1
  15. package/build/src/browser/cdp/selectivity/js-selectivity.d.ts +1 -0
  16. package/build/src/browser/cdp/selectivity/js-selectivity.js +143 -70
  17. package/build/src/browser/cdp/selectivity/js-selectivity.js.map +1 -1
  18. package/build/src/browser/cdp/selectivity/json-utils.js +3 -3
  19. package/build/src/browser/cdp/selectivity/json-utils.js.map +1 -1
  20. package/build/src/browser/cdp/selectivity/testplane-selectivity.js +34 -9
  21. package/build/src/browser/cdp/selectivity/testplane-selectivity.js.map +1 -1
  22. package/build/src/browser/cdp/selectivity/types.d.ts +3 -0
  23. package/build/src/browser/cdp/selectivity/utils.d.ts +3 -1
  24. package/build/src/browser/cdp/selectivity/utils.js +9 -8
  25. package/build/src/browser/cdp/selectivity/utils.js.map +1 -1
  26. package/build/src/index.d.ts +1 -0
  27. package/build/src/index.js +2 -0
  28. package/build/src/index.js.map +1 -1
  29. package/build/src/utils/crypto.d.ts +1 -0
  30. package/build/src/utils/crypto.js +2 -1
  31. package/build/src/utils/crypto.js.map +1 -1
  32. package/build/src/vendors/expect-webdriverio/matchers-overrides.d.ts +49 -0
  33. package/build/src/vendors/expect-webdriverio/matchers-overrides.js +3 -0
  34. package/build/src/vendors/expect-webdriverio/matchers-overrides.js.map +1 -0
  35. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testplane",
3
- "version": "8.40.7",
3
+ "version": "8.40.9",
4
4
  "description": "Tests framework based on mocha and wdio",
5
5
  "main": "build/src/index.js",
6
6
  "files": [
@@ -1 +1,3 @@
1
1
  export declare const WEBPACK_PROTOCOL = "webpack://";
2
+ export declare const SELECTIVITY_CACHE_DIRECTIRY = "testplane-selectivity-cache";
3
+ export declare const SELECTIVITY_CACHE_READY_SUFFIX = "-ready";
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WEBPACK_PROTOCOL = void 0;
3
+ exports.SELECTIVITY_CACHE_READY_SUFFIX = exports.SELECTIVITY_CACHE_DIRECTIRY = exports.WEBPACK_PROTOCOL = void 0;
4
4
  exports.WEBPACK_PROTOCOL = "webpack://";
5
+ exports.SELECTIVITY_CACHE_DIRECTIRY = "testplane-selectivity-cache";
6
+ exports.SELECTIVITY_CACHE_READY_SUFFIX = "-ready";
5
7
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAChC,QAAA,2BAA2B,GAAG,6BAA6B,CAAC;AAC5D,QAAA,8BAA8B,GAAG,QAAQ,CAAC"}
@@ -6,6 +6,7 @@ export declare class CSSSelectivity {
6
6
  private readonly _sourceRoot;
7
7
  private _cssOnStyleSheetAddedFn;
8
8
  private _stylesSourceMap;
9
+ private _styleSheetIdToSourceMapUrl;
9
10
  constructor(cdp: CDP, sessionId: CDPSessionId, sourceRoot?: string);
10
11
  private _processStyle;
11
12
  start(): Promise<void>;
@@ -9,10 +9,13 @@ const node_path_1 = __importDefault(require("node:path"));
9
9
  const node_url_1 = require("node:url");
10
10
  const constants_1 = require("../../../error-snippets/constants");
11
11
  const utils_1 = require("./utils");
12
+ const fs_cache_1 = require("./fs-cache");
13
+ const debug_1 = require("./debug");
12
14
  class CSSSelectivity {
13
15
  constructor(cdp, sessionId, sourceRoot = "") {
14
16
  this._cssOnStyleSheetAddedFn = null;
15
17
  this._stylesSourceMap = {};
18
+ this._styleSheetIdToSourceMapUrl = {};
16
19
  this._cdp = cdp;
17
20
  this._sessionId = sessionId;
18
21
  this._sourceRoot = sourceRoot;
@@ -22,10 +25,30 @@ class CSSSelectivity {
22
25
  return;
23
26
  }
24
27
  if (!sourceURL || !sourceMapURL) {
25
- this._stylesSourceMap[styleSheetId] ||= null;
28
+ this._stylesSourceMap[styleSheetId] ||= Promise.resolve(null);
26
29
  return;
27
30
  }
28
- this._stylesSourceMap[styleSheetId] ||= (0, utils_1.fetchTextWithBrowserFallback)((0, node_url_1.resolve)(sourceURL, sourceMapURL), this._cdp.runtime, this._sessionId);
31
+ const sourceMapResolvedUrl = (0, node_url_1.resolve)(sourceURL, sourceMapURL);
32
+ // Embedded source maps are not cached on file system because of their large cache key
33
+ if ((0, utils_1.isDataProtocol)(sourceMapResolvedUrl)) {
34
+ this._styleSheetIdToSourceMapUrl[styleSheetId] = null;
35
+ this._stylesSourceMap[styleSheetId] ||= (0, utils_1.fetchTextWithBrowserFallback)(sourceMapResolvedUrl, this._cdp.runtime, this._sessionId).catch((err) => err);
36
+ }
37
+ else {
38
+ this._styleSheetIdToSourceMapUrl[styleSheetId] = sourceMapResolvedUrl;
39
+ this._stylesSourceMap[styleSheetId] ||= (0, fs_cache_1.hasCachedSelectivityFile)(fs_cache_1.CacheType.Asset, sourceMapResolvedUrl).then(isCached => {
40
+ return isCached
41
+ ? true
42
+ : (0, utils_1.fetchTextWithBrowserFallback)(sourceMapResolvedUrl, this._cdp.runtime, this._sessionId)
43
+ .then(data => (0, fs_cache_1.setCachedSelectivityFile)(fs_cache_1.CacheType.Asset, sourceMapResolvedUrl, data)
44
+ .then(() => true)
45
+ .catch(err => {
46
+ (0, debug_1.debugSelectivity)(`Couldn't offload asset from "${sourceMapResolvedUrl}" to fs-cache: %O`, err);
47
+ return data;
48
+ }))
49
+ .catch((err) => err);
50
+ });
51
+ }
29
52
  }
30
53
  async start() {
31
54
  const cssOnStyleSheetAdded = (this._cssOnStyleSheetAddedFn = this._processStyle.bind(this));
@@ -40,72 +63,87 @@ class CSSSelectivity {
40
63
  }
41
64
  /** @param drop only performs cleanup without providing actual deps. Should be "true" if test is failed */
42
65
  async stop(drop) {
43
- if (drop) {
44
- this._cssOnStyleSheetAddedFn && this._cdp.css.off("styleSheetAdded", this._cssOnStyleSheetAddedFn);
45
- return null;
46
- }
47
- const coverage = await this._cdp.css.stopRuleUsageTracking(this._sessionId);
48
- // If we haven't got "styleSheetAdded" event for the script, pull up styles + source map manually
49
- coverage.ruleUsage.forEach(({ styleSheetId }) => {
50
- if (Object.hasOwn(this._stylesSourceMap, styleSheetId)) {
51
- return;
66
+ try {
67
+ if (drop) {
68
+ return null;
52
69
  }
53
- const scriptSourcePromise = this._cdp.css
54
- .getStyleSheetText(this._sessionId, styleSheetId)
55
- .then(res => res.text)
56
- .catch((err) => err);
57
- this._stylesSourceMap[styleSheetId] ||= scriptSourcePromise.then(sourceCode => {
58
- if (sourceCode instanceof Error) {
59
- return sourceCode;
70
+ const coverage = await this._cdp.css.stopRuleUsageTracking(this._sessionId);
71
+ // If we haven't got "styleSheetAdded" event for the script, pull up styles + source map manually
72
+ coverage.ruleUsage.forEach(({ styleSheetId }) => {
73
+ if (Object.hasOwn(this._stylesSourceMap, styleSheetId)) {
74
+ return;
60
75
  }
61
- const sourceMapsStartIndex = sourceCode.lastIndexOf(constants_1.CSS_SOURCE_MAP_URL_COMMENT);
62
- const sourceMapsEndIndex = sourceCode.indexOf("*/", sourceMapsStartIndex);
63
- if (sourceMapsStartIndex === -1) {
64
- return new Error("Source maping url comment is missing");
76
+ const scriptSourcePromise = this._cdp.css
77
+ .getStyleSheetText(this._sessionId, styleSheetId)
78
+ .then(res => res.text)
79
+ .catch((err) => err);
80
+ this._stylesSourceMap[styleSheetId] ||= scriptSourcePromise.then(sourceCode => {
81
+ if (sourceCode instanceof Error) {
82
+ return sourceCode;
83
+ }
84
+ const sourceMapsStartIndex = sourceCode.lastIndexOf(constants_1.CSS_SOURCE_MAP_URL_COMMENT);
85
+ const sourceMapsEndIndex = sourceCode.indexOf("*/", sourceMapsStartIndex);
86
+ // Source maps are not generated for this source file
87
+ if (sourceMapsStartIndex === -1) {
88
+ return null;
89
+ }
90
+ const sourceMapURL = sourceMapsEndIndex === -1
91
+ ? sourceCode.slice(sourceMapsStartIndex + constants_1.CSS_SOURCE_MAP_URL_COMMENT.length)
92
+ : sourceCode.slice(sourceMapsStartIndex + constants_1.CSS_SOURCE_MAP_URL_COMMENT.length, sourceMapsEndIndex);
93
+ // If we encounter css stylesheet, that was not reported by "styleSheetAdded"
94
+ // We can only get sourcemaps if they are inlined
95
+ // Otherwise, we can't resolve actual sourcemaps url because we dont know css styles url itself.
96
+ if (!(0, utils_1.isDataProtocol)(sourceMapURL)) {
97
+ return new Error([
98
+ `Missed stylesheet url for stylesheet id ${styleSheetId}.`,
99
+ "Looks like Chrome Devtools 'styleSheetAdded' event was lost",
100
+ "It could happen due to network instability",
101
+ "Switching to inline sourcemaps for CSS will help at the cost of increased RAM usage",
102
+ ].join("\n"));
103
+ }
104
+ return (0, utils_1.fetchTextWithBrowserFallback)(sourceMapURL, this._cdp.runtime, this._sessionId).catch((err) => err);
105
+ });
106
+ });
107
+ const totalDependingSourceFiles = new Set();
108
+ const grouppedByStyleSheetCoverage = (0, lodash_1.groupBy)(coverage.ruleUsage, "styleSheetId");
109
+ const styleSheetIds = Object.keys(grouppedByStyleSheetCoverage);
110
+ await Promise.all(styleSheetIds.map(async (styleSheetId) => {
111
+ const sourceMap = await this._stylesSourceMap[styleSheetId];
112
+ const sourceMapUrl = this._styleSheetIdToSourceMapUrl[styleSheetId];
113
+ if (!sourceMap) {
114
+ return;
65
115
  }
66
- const sourceMapURL = sourceMapsEndIndex === -1
67
- ? sourceCode.slice(sourceMapsStartIndex + constants_1.CSS_SOURCE_MAP_URL_COMMENT.length)
68
- : sourceCode.slice(sourceMapsStartIndex + constants_1.CSS_SOURCE_MAP_URL_COMMENT.length, sourceMapsEndIndex);
69
- const isSourceMapEmbedded = new node_url_1.URL(sourceMapURL).protocol === "data:";
70
- // If we encounter css stylesheet, that was not reported by "styleSheetAdded"
71
- // We can only get sourcemaps if they are inlined
72
- // Otherwise, we can't resolve actual sourcemaps url because we dont know css styles url itself.
73
- if (!isSourceMapEmbedded) {
74
- return new Error([
75
- `Missed stylesheet url for stylesheet id ${styleSheetId}.`,
76
- "Switching to inline sourcemaps for CSS will help",
77
- ].join("\n"));
116
+ if (sourceMap instanceof Error) {
117
+ throw new Error(`CSS Selectivity: Couldn't load source maps for stylesheet id ${styleSheetId}`, { cause: sourceMap });
78
118
  }
79
- return (0, utils_1.fetchTextWithBrowserFallback)(sourceMapURL, this._cdp.runtime, this._sessionId);
80
- });
81
- });
82
- const totalDependingSourceFiles = new Set();
83
- const grouppedByStyleSheetCoverage = (0, lodash_1.groupBy)(coverage.ruleUsage, "styleSheetId");
84
- const styleSheetIds = Object.keys(grouppedByStyleSheetCoverage);
85
- await Promise.all(styleSheetIds.map(async (styleSheetId) => {
86
- const sourceMapString = await this._stylesSourceMap[styleSheetId];
87
- if (!sourceMapString) {
88
- return;
89
- }
90
- if (sourceMapString instanceof Error) {
91
- throw new Error(`CSS Selectivity: Couldn't load source maps for stylesheet id ${styleSheetId}: ${sourceMapString}`);
92
- }
93
- const rawSourceMap = (0, utils_1.patchSourceMapSources)(JSON.parse(sourceMapString), this._sourceRoot);
94
- // We could check "if stylesheet was used" with utils.extractSourceFilesDeps
95
- // But we dont, because if stylesheet was not used, it could be used after change
96
- // So its safe to think "if stylesheet was loaded, it was used"
97
- rawSourceMap.sources.forEach(sourceFilePath => {
98
- // "Each entry is either a string that is a (potentially relative) URL", so we are using posix.jojn
99
- // https://tc39.es/ecma426/#sec-source-map-format
100
- // Except for file path with protocol ("turbopack://", "file://")
101
- const sourceRootBasedPath = (0, utils_1.hasProtocol)(sourceFilePath)
102
- ? sourceFilePath
103
- : node_path_1.default.posix.join(rawSourceMap.sourceRoot || "", sourceFilePath);
104
- totalDependingSourceFiles.add(sourceRootBasedPath);
105
- });
106
- }));
107
- this._cssOnStyleSheetAddedFn && this._cdp.css.off("styleSheetAdded", this._cssOnStyleSheetAddedFn);
108
- return totalDependingSourceFiles;
119
+ if ((0, utils_1.isCachedOnFs)(sourceMap) && !sourceMapUrl) {
120
+ throw new Error("Assertation failed: souce map url has to present if source maps are fs-cached");
121
+ }
122
+ const sourceMapString = (0, utils_1.isCachedOnFs)(sourceMap)
123
+ ? await (0, fs_cache_1.getCachedSelectivityFile)(fs_cache_1.CacheType.Asset, sourceMapUrl)
124
+ : sourceMap;
125
+ if (!sourceMapString) {
126
+ throw new Error(`CSS Selectivity: fs-cache is broken for ${sourceMapUrl}`);
127
+ }
128
+ const rawSourceMap = (0, utils_1.patchSourceMapSources)(JSON.parse(sourceMapString), this._sourceRoot);
129
+ // We could check "if stylesheet was used" with utils.extractSourceFilesDeps
130
+ // But we dont, because if stylesheet was not used, it could be used after change
131
+ // So its safe to think "if stylesheet was loaded, it was used"
132
+ rawSourceMap.sources.forEach(sourceFilePath => {
133
+ // "Each entry is either a string that is a (potentially relative) URL", so we are using posix.jojn
134
+ // https://tc39.es/ecma426/#sec-source-map-format
135
+ // Except for file path with protocol ("turbopack://", "file://")
136
+ const sourceRootBasedPath = (0, utils_1.hasProtocol)(sourceFilePath)
137
+ ? sourceFilePath
138
+ : node_path_1.default.posix.join(rawSourceMap.sourceRoot || "", sourceFilePath);
139
+ totalDependingSourceFiles.add(sourceRootBasedPath);
140
+ });
141
+ }));
142
+ return totalDependingSourceFiles;
143
+ }
144
+ finally {
145
+ this._cssOnStyleSheetAddedFn && this._cdp.css.off("styleSheetAdded", this._cssOnStyleSheetAddedFn);
146
+ }
109
147
  }
110
148
  }
111
149
  exports.CSSSelectivity = CSSSelectivity;
@@ -1 +1 @@
1
- {"version":3,"file":"css-selectivity.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/css-selectivity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"css-selectivity.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/css-selectivity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const CacheType: {
2
+ readonly TestFile: "t";
3
+ readonly Asset: "a";
4
+ };
5
+ type CacheTypeValue = (typeof CacheType)[keyof typeof CacheType];
6
+ export declare const hasCachedSelectivityFile: (cacheType: CacheTypeValue, key: string) => Promise<boolean>;
7
+ export declare const getCachedSelectivityFile: (cacheType: CacheTypeValue, key: string) => Promise<string | null>;
8
+ export declare const setCachedSelectivityFile: (cacheType: CacheTypeValue, key: string, utf8Contents: string) => Promise<void>;
9
+ export {};
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.setCachedSelectivityFile = exports.getCachedSelectivityFile = exports.hasCachedSelectivityFile = exports.CacheType = void 0;
7
+ const node_os_1 = __importDefault(require("node:os"));
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const proper_lockfile_1 = __importDefault(require("proper-lockfile"));
10
+ const fs_extra_1 = __importDefault(require("fs-extra"));
11
+ const crypto_1 = require("../../../utils/crypto");
12
+ const constants_1 = require("./constants");
13
+ exports.CacheType = {
14
+ TestFile: "t",
15
+ Asset: "a",
16
+ };
17
+ // Cache is considered fresh if it was created after process start
18
+ const processStartTime = Number(new Date());
19
+ const tmpDir = node_path_1.default.join(node_os_1.default.tmpdir(), constants_1.SELECTIVITY_CACHE_DIRECTIRY);
20
+ const ensureSelectivityCacheDirectory = async () => {
21
+ await fs_extra_1.default.ensureDir(tmpDir);
22
+ };
23
+ const wasModifiedAfterProcessStart = async (flagFilePath) => {
24
+ try {
25
+ const stats = await fs_extra_1.default.stat(flagFilePath);
26
+ return stats.mtimeMs >= processStartTime;
27
+ }
28
+ catch {
29
+ return false;
30
+ }
31
+ };
32
+ const hasCachedSelectivityFile = async (cacheType, key) => {
33
+ const hashName = cacheType + (0, crypto_1.getMD5)(key);
34
+ const cacheFilePath = node_path_1.default.join(tmpDir, hashName);
35
+ const flagFilePath = cacheFilePath + constants_1.SELECTIVITY_CACHE_READY_SUFFIX;
36
+ return wasModifiedAfterProcessStart(flagFilePath);
37
+ };
38
+ exports.hasCachedSelectivityFile = hasCachedSelectivityFile;
39
+ const getCachedSelectivityFile = async (cacheType, key) => {
40
+ const hashName = cacheType + (0, crypto_1.getMD5)(key);
41
+ const cacheFilePath = node_path_1.default.join(tmpDir, hashName);
42
+ const flagFilePath = cacheFilePath + constants_1.SELECTIVITY_CACHE_READY_SUFFIX;
43
+ if (await wasModifiedAfterProcessStart(flagFilePath)) {
44
+ const cacheContents = await fs_extra_1.default.readFile(cacheFilePath, "utf8").catch(() => null);
45
+ return cacheContents;
46
+ }
47
+ // Writing cache right now, should wait a little bit
48
+ if (await wasModifiedAfterProcessStart(cacheFilePath)) {
49
+ for (let i = 0; i < 10; i++) {
50
+ if (await wasModifiedAfterProcessStart(flagFilePath)) {
51
+ const cacheContents = await fs_extra_1.default.readFile(cacheFilePath, "utf8").catch(() => null);
52
+ return cacheContents;
53
+ }
54
+ await new Promise(resolve => setTimeout(resolve, 50));
55
+ }
56
+ }
57
+ return null;
58
+ };
59
+ exports.getCachedSelectivityFile = getCachedSelectivityFile;
60
+ const setCachedSelectivityFile = async (cacheType, key, utf8Contents) => {
61
+ const hashName = cacheType + (0, crypto_1.getMD5)(key);
62
+ const cacheFilePath = node_path_1.default.join(tmpDir, hashName);
63
+ const flagFilePath = cacheFilePath + constants_1.SELECTIVITY_CACHE_READY_SUFFIX;
64
+ // Cache was already written
65
+ if (await wasModifiedAfterProcessStart(flagFilePath)) {
66
+ return;
67
+ }
68
+ await ensureSelectivityCacheDirectory();
69
+ const releaseLock = await proper_lockfile_1.default
70
+ .lock(flagFilePath, {
71
+ stale: 5000,
72
+ update: 1000,
73
+ retries: { minTimeout: 50, maxTimeout: 50, retries: 1 },
74
+ realpath: false,
75
+ })
76
+ .catch(() => null);
77
+ // Other process already aquired writing-lock
78
+ if (!releaseLock) {
79
+ return;
80
+ }
81
+ // Cache was written while trying to get lock
82
+ if (await wasModifiedAfterProcessStart(flagFilePath)) {
83
+ await releaseLock();
84
+ return;
85
+ }
86
+ try {
87
+ await fs_extra_1.default.writeFile(cacheFilePath, utf8Contents, { encoding: "utf8" }).catch(cause => {
88
+ throw new Error(`Couldn't write cache to "${cacheFilePath}"`, { cause });
89
+ });
90
+ // Using "writeFile" to trigger "mtime" update even if file exists
91
+ await fs_extra_1.default.writeFile(flagFilePath, "").catch(cause => {
92
+ throw new Error(`Couldn't mark cache as fresh at "${cacheFilePath}"`, { cause });
93
+ });
94
+ }
95
+ finally {
96
+ await releaseLock();
97
+ }
98
+ };
99
+ exports.setCachedSelectivityFile = setCachedSelectivityFile;
100
+ //# sourceMappingURL=fs-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-cache.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/fs-cache.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ const calculateFileMd5Hash = (filePath) => new Promise((resolve, reject) => {
35
35
  const fileReadStream = node_fs_1.default.createReadStream(filePath);
36
36
  fileReadStream.on("data", chunk => hash.update(chunk));
37
37
  fileReadStream.on("end", () => resolve(hash.digest("hex")));
38
- fileReadStream.on("error", err => reject(new Error(`Selectivity: Couldn't calculate hash for ${filePath}: ${err}`)));
38
+ fileReadStream.on("error", cause => reject(new Error(`Selectivity: Couldn't calculate hash for ${filePath}`, { cause })));
39
39
  });
40
40
  class HashProvider {
41
41
  async calculateForFile(filePath) {
@@ -1 +1 @@
1
- {"version":3,"file":"hash-provider.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/hash-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hash-provider.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/hash-provider.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,13 @@ const startSelectivity = async (browser) => {
59
59
  const sessionId = await cdpTaget.attachToTarget(cdpTargetId).then(r => r.sessionId);
60
60
  const cssSelectivity = new css_selectivity_1.CSSSelectivity(browser.cdp, sessionId, sourceRoot);
61
61
  const jsSelectivity = new js_selectivity_1.JSSelectivity(browser.cdp, sessionId, sourceRoot);
62
- await Promise.all([cssSelectivity.start(), jsSelectivity.start()]);
62
+ await Promise.allSettled([cssSelectivity.start(), jsSelectivity.start()]).then(async ([css, js]) => {
63
+ if (css.status === "rejected" || js.status === "rejected") {
64
+ await Promise.all([cssSelectivity.stop(true), jsSelectivity.stop(true)]);
65
+ const originalError = css.status === "rejected" ? css.reason : js.status === "rejected" ? js.reason : "unknown reason";
66
+ throw new Error("Selectivity: Couldn't start selectivity", { cause: originalError });
67
+ }
68
+ });
63
69
  /** @param drop only performs cleanup without writing anything. Should be "true" if test is failed */
64
70
  return async function stopSelectivity(test, drop) {
65
71
  const [cssDependencies, jsDependencies] = await Promise.all([
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare class JSSelectivity {
8
8
  private _debuggerOnScriptParsedFn;
9
9
  private _scriptsSource;
10
10
  private _scriptsSourceMap;
11
+ private _scriptIdToSourceMapUrl;
11
12
  constructor(cdp: CDP, sessionId: CDPSessionId, sourceRoot?: string);
12
13
  private _processScript;
13
14
  start(): Promise<void>;
@@ -5,6 +5,8 @@ const lodash_1 = require("lodash");
5
5
  const node_url_1 = require("node:url");
6
6
  const constants_1 = require("../../../error-snippets/constants");
7
7
  const utils_1 = require("./utils");
8
+ const fs_cache_1 = require("./fs-cache");
9
+ const debug_1 = require("./debug");
8
10
  const SOURCE_CODE_EXTENSIONS = [".js", ".jsx", ".ts", ".tsx", ".mjs", ".cjs", ".mts", ".cts"];
9
11
  const isSourceCodeFile = (sourceFileName) => {
10
12
  return SOURCE_CODE_EXTENSIONS.some(ext => sourceFileName.endsWith(ext));
@@ -15,6 +17,7 @@ class JSSelectivity {
15
17
  this._debuggerOnScriptParsedFn = null;
16
18
  this._scriptsSource = {};
17
19
  this._scriptsSourceMap = {};
20
+ this._scriptIdToSourceMapUrl = {};
18
21
  this._cdp = cdp;
19
22
  this._sessionId = sessionId;
20
23
  this._sourceRoot = sourceRoot;
@@ -24,15 +27,45 @@ class JSSelectivity {
24
27
  return;
25
28
  }
26
29
  if (!url || !sourceMapURL) {
27
- this._scriptsSource[scriptId] ||= null;
28
- this._scriptsSourceMap[scriptId] ||= null;
30
+ this._scriptsSource[scriptId] ||= Promise.resolve(null);
31
+ this._scriptsSourceMap[scriptId] ||= Promise.resolve(null);
29
32
  return;
30
33
  }
31
- this._scriptsSource[scriptId] ||= this._cdp.debugger
32
- .getScriptSource(this._sessionId, scriptId)
33
- .then(res => res.scriptSource)
34
- .catch((err) => err);
35
- this._scriptsSourceMap[scriptId] ||= (0, utils_1.fetchTextWithBrowserFallback)((0, node_url_1.resolve)(url, sourceMapURL), this._cdp.runtime, this._sessionId);
34
+ this._scriptsSource[scriptId] ||= (0, fs_cache_1.hasCachedSelectivityFile)(fs_cache_1.CacheType.Asset, url).then(isCached => {
35
+ return isCached
36
+ ? true
37
+ : this._cdp.debugger
38
+ .getScriptSource(this._sessionId, scriptId)
39
+ .then(res => res.scriptSource)
40
+ .then(data => (0, fs_cache_1.setCachedSelectivityFile)(fs_cache_1.CacheType.Asset, url, data)
41
+ .then(() => true)
42
+ .catch(err => {
43
+ (0, debug_1.debugSelectivity)(`Couldn't offload asset from "${url}" to fs-cache: %O`, err);
44
+ return data;
45
+ }))
46
+ .catch((err) => err);
47
+ });
48
+ const sourceMapResolvedUrl = (0, node_url_1.resolve)(url, sourceMapURL);
49
+ // Embedded source maps are not cached on file system because of their large cache key
50
+ if ((0, utils_1.isDataProtocol)(sourceMapResolvedUrl)) {
51
+ this._scriptIdToSourceMapUrl[scriptId] = null;
52
+ this._scriptsSourceMap[scriptId] ||= (0, utils_1.fetchTextWithBrowserFallback)(sourceMapResolvedUrl, this._cdp.runtime, this._sessionId).catch((err) => err);
53
+ }
54
+ else {
55
+ this._scriptIdToSourceMapUrl[scriptId] = sourceMapResolvedUrl;
56
+ this._scriptsSourceMap[scriptId] ||= (0, fs_cache_1.hasCachedSelectivityFile)(fs_cache_1.CacheType.Asset, sourceMapResolvedUrl).then(isCached => {
57
+ return isCached
58
+ ? true
59
+ : (0, utils_1.fetchTextWithBrowserFallback)(sourceMapResolvedUrl, this._cdp.runtime, this._sessionId)
60
+ .then(data => (0, fs_cache_1.setCachedSelectivityFile)(fs_cache_1.CacheType.Asset, sourceMapResolvedUrl, data)
61
+ .then(() => true)
62
+ .catch(err => {
63
+ (0, debug_1.debugSelectivity)(`Couldn't offload asset from "${sourceMapResolvedUrl}" to fs-cache: %O`, err);
64
+ return data;
65
+ }))
66
+ .catch((err) => err);
67
+ });
68
+ }
36
69
  }
37
70
  async start() {
38
71
  const debuggerOnPaused = (this._debuggerOnPausedFn = async () => {
@@ -54,75 +87,115 @@ class JSSelectivity {
54
87
  }
55
88
  /** @param drop only performs cleanup without providing actual deps. Should be "true" if test is failed */
56
89
  async stop(drop) {
57
- if (drop) {
58
- this._debuggerOnPausedFn && this._cdp.debugger.off("paused", this._debuggerOnPausedFn);
59
- this._debuggerOnScriptParsedFn && this._cdp.debugger.off("scriptParsed", this._debuggerOnScriptParsedFn);
60
- return null;
61
- }
62
- const coverage = await this._cdp.profiler.takePreciseCoverage(this._sessionId);
63
- const scriptsWithUrl = coverage.result.filter(script => script.url);
64
- // If we haven't got "scriptParsed" event for the script, pull up source code + source map manually
65
- scriptsWithUrl.forEach(({ scriptId, url }) => {
66
- if (Object.hasOwn(this._scriptsSource, scriptId) && Object.hasOwn(this._scriptsSourceMap, scriptId)) {
67
- return;
90
+ try {
91
+ if (drop) {
92
+ return null;
68
93
  }
69
- const scriptSourcePromise = this._cdp.debugger
70
- .getScriptSource(this._sessionId, scriptId)
71
- .then(res => res.scriptSource)
72
- .catch((err) => err);
73
- this._scriptsSource[scriptId] ||= scriptSourcePromise;
74
- this._scriptsSourceMap[scriptId] ||= scriptSourcePromise.then(sourceCode => {
75
- if (sourceCode instanceof Error) {
76
- return sourceCode;
94
+ const coverage = await this._cdp.profiler.takePreciseCoverage(this._sessionId);
95
+ const scriptsWithUrl = coverage.result.filter(script => script.url);
96
+ // If we haven't got "scriptParsed" event for the script, pull up source code + source map manually
97
+ scriptsWithUrl.forEach(({ scriptId, url }) => {
98
+ // Was processed with "this._processScript"
99
+ if (Object.hasOwn(this._scriptsSource, scriptId) && Object.hasOwn(this._scriptsSourceMap, scriptId)) {
100
+ return;
77
101
  }
78
- const sourceMapsStartIndex = sourceCode.lastIndexOf(constants_1.JS_SOURCE_MAP_URL_COMMENT);
79
- const sourceMapsEndIndex = sourceCode.indexOf("\n", sourceMapsStartIndex);
80
- if (sourceMapsStartIndex === -1) {
81
- return new Error("Source maping url comment is missing");
82
- }
83
- const sourceMapURL = sourceMapsEndIndex === -1
84
- ? sourceCode.slice(sourceMapsStartIndex + constants_1.JS_SOURCE_MAP_URL_COMMENT.length)
85
- : sourceCode.slice(sourceMapsStartIndex + constants_1.JS_SOURCE_MAP_URL_COMMENT.length, sourceMapsEndIndex);
86
- return (0, utils_1.fetchTextWithBrowserFallback)((0, node_url_1.resolve)(url, sourceMapURL), this._cdp.runtime, this._sessionId);
102
+ // Not dropping sources to fs the end of test (when "stop" is called) because we use it immediately
103
+ const scriptSourcePromise = this._cdp.debugger
104
+ .getScriptSource(this._sessionId, scriptId)
105
+ .then(({ scriptSource }) => {
106
+ (0, fs_cache_1.setCachedSelectivityFile)(fs_cache_1.CacheType.Asset, url, scriptSource).catch(() => { });
107
+ return scriptSource;
108
+ })
109
+ .catch((err) => err);
110
+ this._scriptsSource[scriptId] ||= scriptSourcePromise;
111
+ this._scriptsSourceMap[scriptId] ||= scriptSourcePromise.then(async (sourceCode) => {
112
+ if (sourceCode instanceof Error) {
113
+ return sourceCode;
114
+ }
115
+ const sourceMapsStartIndex = sourceCode.lastIndexOf(constants_1.JS_SOURCE_MAP_URL_COMMENT);
116
+ const sourceMapsEndIndex = sourceCode.indexOf("\n", sourceMapsStartIndex);
117
+ // Source maps are not generated for this source file
118
+ if (sourceMapsStartIndex === -1) {
119
+ return null;
120
+ }
121
+ const sourceMapURL = sourceMapsEndIndex === -1
122
+ ? sourceCode.slice(sourceMapsStartIndex + constants_1.JS_SOURCE_MAP_URL_COMMENT.length)
123
+ : sourceCode.slice(sourceMapsStartIndex + constants_1.JS_SOURCE_MAP_URL_COMMENT.length, sourceMapsEndIndex);
124
+ if ((0, utils_1.isDataProtocol)(sourceMapURL)) {
125
+ return (0, utils_1.fetchTextWithBrowserFallback)(sourceMapURL, this._cdp.runtime, this._sessionId).catch((err) => err);
126
+ }
127
+ const resolvedSourceMapUrl = (0, node_url_1.resolve)(url, sourceMapURL);
128
+ this._scriptIdToSourceMapUrl[scriptId] ||= resolvedSourceMapUrl;
129
+ try {
130
+ const cachedSourceMaps = await (0, fs_cache_1.getCachedSelectivityFile)(fs_cache_1.CacheType.Asset, resolvedSourceMapUrl);
131
+ if (cachedSourceMaps) {
132
+ return cachedSourceMaps;
133
+ }
134
+ const sourceMap = await (0, utils_1.fetchTextWithBrowserFallback)(resolvedSourceMapUrl, this._cdp.runtime, this._sessionId);
135
+ (0, fs_cache_1.setCachedSelectivityFile)(fs_cache_1.CacheType.Asset, resolvedSourceMapUrl, sourceMap).catch(() => { });
136
+ return sourceMap;
137
+ }
138
+ catch (err) {
139
+ return err;
140
+ }
141
+ });
87
142
  });
88
- });
89
- const totalDependingSourceFiles = new Set();
90
- const grouppedByScriptCoverage = (0, lodash_1.groupBy)(coverage.result, "scriptId");
91
- const scriptIds = Object.keys(grouppedByScriptCoverage);
92
- await Promise.all(scriptIds.map(async (scriptId) => {
93
- // Every "scriptId" has only one uniq "url"
94
- const url = grouppedByScriptCoverage[scriptId][0].url;
95
- const [source, sourceMaps] = await Promise.all([
96
- this._scriptsSource[scriptId],
97
- this._scriptsSourceMap[scriptId],
98
- ]);
99
- if (!source || !sourceMaps) {
100
- return;
101
- }
102
- if (source instanceof Error) {
103
- throw new Error(`JS Selectivity: Couldn't load source code at ${url}: ${source}`);
104
- }
105
- if (sourceMaps instanceof Error) {
106
- throw new Error(`JS Selectivity: Couldn't load source maps of ${url}: ${sourceMaps}`);
107
- }
108
- const startOffsetsSet = new Set();
109
- grouppedByScriptCoverage[scriptId].forEach(entry => {
110
- entry.functions.forEach(fn => {
111
- fn.ranges.forEach(range => {
112
- startOffsetsSet.add(range.startOffset);
143
+ const totalDependingSourceFiles = new Set();
144
+ const grouppedByScriptCoverage = (0, lodash_1.groupBy)(coverage.result, "scriptId");
145
+ const scriptIds = Object.keys(grouppedByScriptCoverage);
146
+ await Promise.all(scriptIds.map(async (scriptId) => {
147
+ // Every "scriptId" has only one uniq "url"
148
+ const url = grouppedByScriptCoverage[scriptId][0].url;
149
+ const [source, sourceMaps] = await Promise.all([
150
+ this._scriptsSource[scriptId],
151
+ this._scriptsSourceMap[scriptId],
152
+ ]);
153
+ const sourceMapUrl = this._scriptIdToSourceMapUrl[scriptId];
154
+ // Function was called, but source maps were not generated for the file
155
+ if (!source || !sourceMaps) {
156
+ return;
157
+ }
158
+ if (source instanceof Error) {
159
+ throw new Error(`JS Selectivity: Couldn't load source code from ${url}`, { cause: source });
160
+ }
161
+ if (sourceMaps instanceof Error) {
162
+ throw new Error(`JS Selectivity: Couldn't load source maps from ${sourceMapUrl}`, {
163
+ cause: sourceMaps,
164
+ });
165
+ }
166
+ if ((0, utils_1.isCachedOnFs)(sourceMaps) && !sourceMapUrl) {
167
+ throw new Error("Assertation failed: souce map url has to present if source maps are fs-cached");
168
+ }
169
+ const sourceString = (0, utils_1.isCachedOnFs)(source)
170
+ ? await (0, fs_cache_1.getCachedSelectivityFile)(fs_cache_1.CacheType.Asset, url)
171
+ : source;
172
+ const sourceMapsString = (0, utils_1.isCachedOnFs)(sourceMaps)
173
+ ? await (0, fs_cache_1.getCachedSelectivityFile)(fs_cache_1.CacheType.Asset, sourceMapUrl)
174
+ : sourceMaps;
175
+ if (!sourceString || !sourceMapsString) {
176
+ throw new Error(`JS Selectivity: fs-cache is broken for ${url}`);
177
+ }
178
+ const startOffsetsSet = new Set();
179
+ grouppedByScriptCoverage[scriptId].forEach(entry => {
180
+ entry.functions.forEach(fn => {
181
+ fn.ranges.forEach(range => {
182
+ startOffsetsSet.add(range.startOffset);
183
+ });
113
184
  });
114
185
  });
115
- });
116
- const dependingSourceFiles = await (0, utils_1.extractSourceFilesDeps)(source, sourceMaps, Array.from(startOffsetsSet), this._sourceRoot);
117
- for (const sourceFile of dependingSourceFiles.values()) {
118
- if (isSourceCodeFile(sourceFile)) {
119
- totalDependingSourceFiles.add(sourceFile);
186
+ const dependingSourceFiles = await (0, utils_1.extractSourceFilesDeps)(sourceString, sourceMapsString, Array.from(startOffsetsSet), this._sourceRoot);
187
+ for (const sourceFile of dependingSourceFiles.values()) {
188
+ if (isSourceCodeFile(sourceFile)) {
189
+ totalDependingSourceFiles.add(sourceFile);
190
+ }
120
191
  }
121
- }
122
- }));
123
- this._debuggerOnPausedFn && this._cdp.debugger.off("paused", this._debuggerOnPausedFn);
124
- this._debuggerOnScriptParsedFn && this._cdp.debugger.off("scriptParsed", this._debuggerOnScriptParsedFn);
125
- return totalDependingSourceFiles;
192
+ }));
193
+ return totalDependingSourceFiles;
194
+ }
195
+ finally {
196
+ this._debuggerOnPausedFn && this._cdp.debugger.off("paused", this._debuggerOnPausedFn);
197
+ this._debuggerOnScriptParsedFn && this._cdp.debugger.off("scriptParsed", this._debuggerOnScriptParsedFn);
198
+ }
126
199
  }
127
200
  }
128
201
  exports.JSSelectivity = JSSelectivity;
@@ -1 +1 @@
1
- {"version":3,"file":"js-selectivity.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/js-selectivity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"js-selectivity.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/js-selectivity.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ const readCompressedTextFile = (filePath, compression) => {
55
55
  resolve(fileData);
56
56
  });
57
57
  stream.on("error", err => {
58
- reject(new Error(`Couldn't read ${filePath} with ${compression} compression:\n${err}`));
58
+ reject(new Error(`Couldn't read ${filePath} with ${compression} compression`, { cause: err }));
59
59
  });
60
60
  });
61
61
  };
@@ -82,7 +82,7 @@ const writeCompressedTextFile = (filePath, data, compression) => {
82
82
  }
83
83
  stream.write(data, "utf8", err => {
84
84
  if (err) {
85
- reject(new Error(`Couldn't write to ${filePath} with ${compression} compression:\n${err}`));
85
+ reject(new Error(`Couldn't write to ${filePath} with ${compression} compression`, { cause: err }));
86
86
  }
87
87
  else {
88
88
  stream.end();
@@ -92,7 +92,7 @@ const writeCompressedTextFile = (filePath, data, compression) => {
92
92
  resolve();
93
93
  });
94
94
  writeStream.on("error", err => {
95
- reject(new Error(`Couldn't save to ${filePath} with ${compression} compression:\n${err}`));
95
+ reject(new Error(`Couldn't save to ${filePath} with ${compression} compression`, { cause: err }));
96
96
  });
97
97
  });
98
98
  };
@@ -1 +1 @@
1
- {"version":3,"file":"json-utils.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/json-utils.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAC7B,0DAA6B;AAC7B,wDAA0B;AAC1B,mCAAuE;AAGvE,MAAM,oBAAoB,GAAG,CAAC,IAAgC,EAAU,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AAE/G,MAAM,qBAAqB,GAAiC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAC7E,CAAC,CAAC,CAAC,mBAAW,CAAC,IAAI,EAAE,mBAAW,CAAC,IAAI,EAAE,mBAAW,CAAC,MAAM,EAAE,mBAAW,CAAC,IAAI,CAAC;IAC5E,CAAC,CAAC,CAAC,mBAAW,CAAC,IAAI,EAAE,mBAAW,CAAC,MAAM,EAAE,mBAAW,CAAC,IAAI,CAAC,CAAC;AAE/D,MAAM,kCAAkC,GAAG,CACvC,YAAoB,EACpB,wBAAoD,EACoB,EAAE;IAC1E,MAAM,kBAAkB,GAAG,YAAY,GAAG,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IAEzF,IAAI,kBAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,eAAe,EAAE,wBAAwB,EAAE,CAAC;IACvF,CAAC;IAED,KAAK,MAAM,eAAe,IAAI,qBAAqB,EAAE,CAAC;QAClD,IAAI,eAAe,KAAK,wBAAwB,EAAE,CAAC;YAC/C,SAAS;QACb,CAAC;QAED,MAAM,yBAAyB,GAAG,YAAY,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;QACvF,IAAI,kBAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;QACrF,CAAC;IACL,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,wBAAwB,EAAE,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,QAAgB,EAAE,WAAuC,EAAmB,EAAE;IAC1G,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,kBAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,MAAM,GAAa,UAAU,CAAC;QAElC,IAAI,WAAW,KAAK,mBAAW,CAAC,IAAI,IAAI,CAAC,CAAC,sBAAsB,IAAI,mBAAI,CAAC,EAAE,CAAC;YACxE,MAAM,CACF,IAAI,KAAK,CACL,wGAAwG,CAC3G,CACJ,CAAC;QACN,CAAC;QAED,QAAQ,WAAW,EAAE,CAAC;YAClB,KAAK,mBAAW,CAAC,IAAI;gBACjB,MAAM,GAAG,UAAU,CAAC,IAAI,CACnB,mBAA6D,CAAC,oBAAoB,EAAE,CACxF,CAAC;gBACF,MAAM;YACV,KAAK,mBAAW,CAAC,IAAI;gBACjB,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,mBAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC9C,MAAM;YACV,KAAK,mBAAW,CAAC,MAAM;gBACnB,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,mBAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;gBACxD,MAAM;QACd,CAAC;QAED,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;YACtB,QAAQ,IAAI,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAClB,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACrB,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,QAAQ,SAAS,WAAW,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC5B,QAAgB,EAChB,IAAY,EACZ,WAAuC,EAC1B,EAAE;IACf,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,MAAM,WAAW,GAAG,kBAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,MAAM,GAAa,WAAW,CAAC;QAEnC,IAAI,WAAW,KAAK,mBAAW,CAAC,IAAI,IAAI,CAAC,CAAC,oBAAoB,IAAI,mBAAI,CAAC,EAAE,CAAC;YACtE,MAAM,CACF,IAAI,KAAK,CACL,sGAAsG,CACzG,CACJ,CAAC;QACN,CAAC;QAED,QAAQ,WAAW,EAAE,CAAC;YAClB,KAAK,mBAAW,CAAC,IAAI;gBACjB,MAAM,GAAI,mBAA2D,CAAC,kBAAkB,EAAE,CAAC;gBAC3F,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACzB,MAAM;YACV,KAAK,mBAAW,CAAC,IAAI;gBACjB,MAAM,GAAG,mBAAI,CAAC,UAAU,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACzB,MAAM;YACV,KAAK,mBAAW,CAAC,MAAM;gBACnB,MAAM,GAAG,mBAAI,CAAC,oBAAoB,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACzB,MAAM;QACd,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;YAC7B,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,QAAQ,SAAS,WAAW,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;YAChG,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,GAAG,EAAE,CAAC;YACjB,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC1B,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,QAAQ,SAAS,WAAW,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF;;;;GAIG;AACI,MAAM,uBAAuB,GAAG,KAAK,EACxC,YAAoB,EACpB,wBAAoD,EACpD,IAA2B,EACjB,EAAE;IACZ,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,kCAAkC,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;IAEjH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,IAAI,IAAI,EAAE,YAAY,EAAE,CAAC;YACrB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CACX,iBAAiB,YAAY,gCAAgC,qBAAqB,uBAAuB,CAC5G,CAAC;QACN,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAEzE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC,CAAC;AApBW,QAAA,uBAAuB,2BAoBlC;AAEK,MAAM,wBAAwB,GAAG,KAAK,EACzC,YAAoB,EACpB,IAAa,EACb,wBAAoD,EACvC,EAAE;IACf,MAAM,QAAQ,GAAG,YAAY,GAAG,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,wBAAwB,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzF,MAAM,kBAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3C,OAAO,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;AACjF,CAAC,CAAC;AAXW,QAAA,wBAAwB,4BAWnC"}
1
+ {"version":3,"file":"json-utils.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/json-utils.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,12 @@ exports.readTestFileWithTestplaneDependenciesCollecting = exports.runWithTestpla
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const module_1 = require("module");
9
9
  const async_hooks_1 = require("async_hooks");
10
+ const fs_cache_1 = require("./fs-cache");
11
+ const debug_1 = require("./debug");
10
12
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
13
  const TypedModule = module_1.Module;
12
14
  const testDependenciesStorage = new async_hooks_1.AsyncLocalStorage();
13
- const testFileDependenciesCache = new Map();
15
+ const testFileDependenciesRamCache = new Map();
14
16
  let disableCollectingDependenciesCb = null;
15
17
  const disableCollectingTestplaneDependencies = () => {
16
18
  if (disableCollectingDependenciesCb) {
@@ -51,10 +53,14 @@ exports.getCollectedTestplaneDependencies = getCollectedTestplaneDependencies;
51
53
  const runWithTestplaneDependenciesCollecting = (fn) => {
52
54
  (0, exports.enableCollectingTestplaneDependencies)();
53
55
  const store = { jsTestplaneDeps: new Set() };
54
- return testDependenciesStorage.run(store, fn);
56
+ return testDependenciesStorage.run(store, fn).finally(() => {
57
+ // After "fn" completion, "store" is reachable in CDP ping interval callback, so it never GC-removed
58
+ // Thats why we do it manually. Removing "jsTestplaneDeps" is enough, and set remains unchanged, if used
59
+ delete store.jsTestplaneDeps;
60
+ });
55
61
  };
56
62
  exports.runWithTestplaneDependenciesCollecting = runWithTestplaneDependenciesCollecting;
57
- const readTestFileWithTestplaneDependenciesCollecting = (file, fn) => {
63
+ const readTestFileWithTestplaneDependenciesCollecting = async (file, fn) => {
58
64
  if (!disableCollectingDependenciesCb) {
59
65
  return fn();
60
66
  }
@@ -63,14 +69,33 @@ const readTestFileWithTestplaneDependenciesCollecting = (file, fn) => {
63
69
  if (!jsTestplaneDeps) {
64
70
  return fn();
65
71
  }
66
- const cachedDependencies = testFileDependenciesCache.get(file);
67
- if (cachedDependencies) {
68
- cachedDependencies.forEach(dependency => jsTestplaneDeps.add(dependency));
72
+ const ramCachedDependencies = testFileDependenciesRamCache.get(file);
73
+ if (ramCachedDependencies) {
74
+ ramCachedDependencies.forEach(dependency => jsTestplaneDeps.add(dependency));
69
75
  return fn();
70
76
  }
71
- return fn().finally(() => {
72
- testFileDependenciesCache.set(file, Array.from(jsTestplaneDeps).sort((a, b) => a.localeCompare(b)));
73
- });
77
+ const fsCachedDependencies = await (0, fs_cache_1.getCachedSelectivityFile)(fs_cache_1.CacheType.TestFile, file);
78
+ if (fsCachedDependencies) {
79
+ let parsedDependencies;
80
+ try {
81
+ parsedDependencies = JSON.parse(fsCachedDependencies);
82
+ }
83
+ catch (cause) {
84
+ throw new Error(`Selectivity: It looks like fs-cache for "${file}" dependencies is broken: contents of cache file is invalid JSON`, { cause });
85
+ }
86
+ parsedDependencies.forEach(dependency => jsTestplaneDeps.add(dependency));
87
+ return fn();
88
+ }
89
+ try {
90
+ return await fn();
91
+ }
92
+ finally {
93
+ const cacheValue = Array.from(jsTestplaneDeps).sort((a, b) => a.localeCompare(b));
94
+ await (0, fs_cache_1.setCachedSelectivityFile)(fs_cache_1.CacheType.TestFile, file, JSON.stringify(cacheValue)).catch(err => {
95
+ testFileDependenciesRamCache.set(file, cacheValue);
96
+ (0, debug_1.debugSelectivity)(`Couldn't offload test dependencies from "${file}" to fs-cache: %O`, err);
97
+ });
98
+ }
74
99
  };
75
100
  exports.readTestFileWithTestplaneDependenciesCollecting = readTestFileWithTestplaneDependenciesCollecting;
76
101
  //# sourceMappingURL=testplane-selectivity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testplane-selectivity.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/testplane-selectivity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testplane-selectivity.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/testplane-selectivity.ts"],"names":[],"mappings":"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"}
@@ -18,3 +18,6 @@ export type HashFileContents = {
18
18
  modules: Record<string, string>;
19
19
  patterns: Record<string, string>;
20
20
  };
21
+ export type CachedOnFs = true;
22
+ export type ActualValue = string;
23
+ export type SelectivityAssetState = Promise<CachedOnFs | ActualValue | Error | null>;
@@ -10,7 +10,7 @@ import type { Test } from "../../../types";
10
10
  * @param sessionId CDP session id
11
11
  * @returns text
12
12
  */
13
- export declare const fetchTextWithBrowserFallback: (url: string, runtime: CDPRuntime, sessionId: CDPSessionId) => Promise<string | Error>;
13
+ export declare const fetchTextWithBrowserFallback: (url: string, runtime: CDPRuntime, sessionId: CDPSessionId) => Promise<string>;
14
14
  /**
15
15
  * Replaces "webpack://" protocol with source path because "source-map" doesn't work well with protocol paths
16
16
  * @param sourceMap Raw source maps in https://tc39.es/ecma426/ format
@@ -31,6 +31,7 @@ export declare const extractSourceFilesDeps: (source: string, sourceMaps: string
31
31
  * @returns True, if fileUrlLikePath has some kind of protocol ("data://", "webpack://", "turbopack://", "file://")...
32
32
  */
33
33
  export declare const hasProtocol: (fileUrlLikePath: string) => boolean;
34
+ export declare const isDataProtocol: (fileUrlLikePath: string) => boolean;
34
35
  /**
35
36
  * @param cssDependencies set of css dependenciy URI's
36
37
  * @param jsDependencies set of js dependenciy URI's
@@ -46,3 +47,4 @@ export declare const getSelectivityTestsPath: (testDependenciesPath: string) =>
46
47
  export declare const getTestDependenciesPath: (selectivityTestsPath: string, test: Test) => string;
47
48
  /** @returns `Promise<Record<BrowserID, Record<DepType, NormalizedDependencies>>>` */
48
49
  export declare const readTestDependencies: (selectivityTestsPath: string, test: Test, compression: SelectivityCompressionType) => Promise<Record<string, Record<string, NormalizedDependencies>>>;
50
+ export declare const isCachedOnFs: (value: unknown) => value is true;
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.readTestDependencies = exports.getTestDependenciesPath = exports.getSelectivityTestsPath = exports.readHashFileContents = exports.getSelectivityHashesPath = exports.shallowSortObject = exports.mergeSourceDependencies = exports.transformSourceDependencies = exports.hasProtocol = exports.extractSourceFilesDeps = exports.patchSourceMapSources = exports.fetchTextWithBrowserFallback = void 0;
29
+ exports.isCachedOnFs = exports.readTestDependencies = exports.getTestDependenciesPath = exports.getSelectivityTestsPath = exports.readHashFileContents = exports.getSelectivityHashesPath = exports.shallowSortObject = exports.mergeSourceDependencies = exports.transformSourceDependencies = exports.isDataProtocol = exports.hasProtocol = exports.extractSourceFilesDeps = exports.patchSourceMapSources = exports.fetchTextWithBrowserFallback = void 0;
30
30
  const lodash_1 = require("lodash");
31
31
  const source_map_js_1 = require("source-map-js");
32
32
  const fs_1 = __importDefault(require("fs"));
@@ -48,9 +48,7 @@ const fetchTextWithBrowserFallback = async (url, runtime, sessionId) => {
48
48
  if (isSourceMapEmbedded) {
49
49
  // With "data" protocol it just decodes embedded source maps without actual network requests
50
50
  // So we can do it directly from node.js
51
- return fetch(url)
52
- .then(r => r.text())
53
- .catch((err) => err);
51
+ return fetch(url).then(r => r.text());
54
52
  }
55
53
  // At first, trying to fetch sourceMaps directly from the node.js
56
54
  // Then falling back to do it via browser (if Testplane has no direct network access to it, for example)
@@ -64,8 +62,7 @@ const fetchTextWithBrowserFallback = async (url, runtime, sessionId) => {
64
62
  awaitPromise: true,
65
63
  returnByValue: true,
66
64
  })
67
- .then(r => r.result.value)
68
- .catch((err) => err);
65
+ .then(r => r.result.value);
69
66
  }
70
67
  };
71
68
  exports.fetchTextWithBrowserFallback = fetchTextWithBrowserFallback;
@@ -146,7 +143,9 @@ const getProtocol = (fileUrlLikePath) => {
146
143
  return null;
147
144
  }
148
145
  };
149
- const ensurePosixRelativeDependencyPathExists = (0, lodash_1.memoize)((posixRelativePath) => {
146
+ const isDataProtocol = (fileUrlLikePath) => fileUrlLikePath.startsWith("data:");
147
+ exports.isDataProtocol = isDataProtocol;
148
+ const ensurePosixRelativeDependencyPathExists = (posixRelativePath) => {
150
149
  const relativePath = posixRelativePath.replaceAll(path_1.default.posix.sep, path_1.default.sep);
151
150
  if (fs_1.default.existsSync(relativePath)) {
152
151
  return;
@@ -156,7 +155,7 @@ const ensurePosixRelativeDependencyPathExists = (0, lodash_1.memoize)((posixRela
156
155
  "Please ensure 'sources' of generated source maps contain valid paths to existing files",
157
156
  "Configuring 'sourceRoot' in Testplane selectivity config also might help",
158
157
  ].join("\n"));
159
- });
158
+ };
160
159
  const warnUnsupportedProtocol = (0, lodash_1.memoize)((protocol, dependency) => {
161
160
  logger.warn(`Selectivity: Ignoring dependencies of unsupported protocol "${protocol}" (example: "${dependency}")`);
162
161
  });
@@ -302,4 +301,6 @@ const readTestDependencies = (selectivityTestsPath, test, compression) => (0, js
302
301
  defaultValue: {},
303
302
  }).catch(() => ({}));
304
303
  exports.readTestDependencies = readTestDependencies;
304
+ const isCachedOnFs = (value) => value === true;
305
+ exports.isCachedOnFs = isCachedOnFs;
305
306
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/utils.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  /// <reference types="expect-webdriverio/types/expect-webdriverio" />
3
3
  import "./browser/types";
4
4
  import "expect-webdriverio";
5
+ import "./vendors/expect-webdriverio/matchers-overrides";
5
6
  import { GlobalHelper } from "./types";
6
7
  export { run as runCli } from "./cli";
7
8
  export { Testplane as default } from "./testplane";
@@ -34,6 +34,8 @@ exports.TimeTravelMode = exports.unstable = exports.Key = exports.default = expo
34
34
  require("./browser/types");
35
35
  // Declares global expect function
36
36
  require("expect-webdriverio");
37
+ // Overrides matchers return type
38
+ require("./vendors/expect-webdriverio/matchers-overrides");
37
39
  var cli_1 = require("./cli");
38
40
  Object.defineProperty(exports, "runCli", { enumerable: true, get: function () { return cli_1.run; } });
39
41
  var testplane_1 = require("./testplane");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAAwB;AACxB,qEAAqE;AACrE,+CAA+C;AAC/C,uCAAuC;AACvC,2BAAyB;AACzB,kCAAkC;AAClC,8BAA4B;AAG5B,6BAAsC;AAA7B,6FAAA,GAAG,OAAU;AACtB,yCAAmD;AAA1C,oGAAA,SAAS,OAAW;AAC7B,sDAA6C;AAApC,kGAAA,GAAG,OAAA;AACZ,yCAAuB;AAEvB,uDAAuC;AAoBvC,mCAA0C;AAAjC,wGAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAAwB;AACxB,qEAAqE;AACrE,+CAA+C;AAC/C,uCAAuC;AACvC,2BAAyB;AACzB,kCAAkC;AAClC,8BAA4B;AAC5B,iCAAiC;AACjC,2DAAyD;AAGzD,6BAAsC;AAA7B,6FAAA,GAAG,OAAU;AACtB,yCAAmD;AAA1C,oGAAA,SAAS,OAAW;AAC7B,sDAA6C;AAApC,kGAAA,GAAG,OAAA;AACZ,yCAAuB;AAEvB,uDAAuC;AAoBvC,mCAA0C;AAAjC,wGAAA,cAAc,OAAA"}
@@ -1 +1,2 @@
1
+ export function getMD5(str: any): string;
1
2
  export function getShortMD5(str: any): string;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
  const crypto = require("crypto");
3
- exports.getShortMD5 = str => crypto.createHash("md5").update(str, "ascii").digest("hex").substr(0, 7);
3
+ exports.getMD5 = str => crypto.createHash("md5").update(str, "ascii").digest("hex");
4
+ exports.getShortMD5 = str => exports.getMD5(str).substr(0, 7);
4
5
  //# sourceMappingURL=crypto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/utils/crypto.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/utils/crypto.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpF,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,49 @@
1
+ /// <reference types="expect-webdriverio/types/expect-webdriverio" />
2
+ export {};
3
+ declare global {
4
+ namespace ExpectWebdriverIO {
5
+ interface Matchers<R, T> {
6
+ toBeDisplayed(options?: ExpectWebdriverIO.CommandOptions): Promise<R>;
7
+ toExist(options?: ExpectWebdriverIO.CommandOptions): Promise<R>;
8
+ toBePresent(options?: ExpectWebdriverIO.CommandOptions): Promise<R>;
9
+ toBeExisting(options?: ExpectWebdriverIO.CommandOptions): Promise<R>;
10
+ toHaveAttribute(attribute: string, value?: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
11
+ toHaveAttr(attribute: string, value?: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
12
+ toHaveAttributeContaining(attribute: string, contains: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
13
+ toHaveAttrContaining(attribute: string, contains: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
14
+ toHaveClass(className: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
15
+ toHaveElementClass(className: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
16
+ toHaveClassContaining(className: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
17
+ toHaveElementClassContaining(className: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
18
+ toHaveElementProperty(property: string | RegExp, value?: unknown, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
19
+ toHaveValue(value: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
20
+ toHaveValueContaining(value: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
21
+ toBeClickable(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
22
+ toBeDisabled(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
23
+ toBeDisplayedInViewport(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
24
+ toBeEnabled(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
25
+ toBeFocused(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
26
+ toBeSelected(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
27
+ toBeChecked(options?: ExpectWebdriverIO.StringOptions): Promise<R>;
28
+ toHaveChildren(size?: number | ExpectWebdriverIO.NumberOptions, options?: ExpectWebdriverIO.NumberOptions): Promise<R>;
29
+ toHaveHref(href: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
30
+ toHaveLink(href: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
31
+ toHaveHrefContaining(href: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
32
+ toHaveLinkContaining(href: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
33
+ toHaveId(id: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
34
+ toHaveText(text: string | RegExp | Array<string | RegExp>, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
35
+ toHaveTextContaining(text: string | RegExp | Array<string | RegExp>, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
36
+ toHaveStyle(style: {
37
+ [key: string]: string;
38
+ }, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
39
+ toHaveUrl(url: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
40
+ toHaveUrlContaining(url: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
41
+ toHaveTitle(title: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
42
+ toHaveTitleContaining(title: string | RegExp, options?: ExpectWebdriverIO.StringOptions): Promise<R>;
43
+ toBeElementsArrayOfSize(size: number | ExpectWebdriverIO.NumberOptions, options?: ExpectWebdriverIO.NumberOptions): Promise<R>;
44
+ toBeRequested(options?: ExpectWebdriverIO.CommandOptions): Promise<R>;
45
+ toBeRequestedTimes(times: number | ExpectWebdriverIO.NumberOptions, options?: ExpectWebdriverIO.NumberOptions): Promise<R>;
46
+ toBeRequestedWith(requestedWith: ExpectWebdriverIO.RequestedWith, options?: ExpectWebdriverIO.CommandOptions): Promise<R>;
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=matchers-overrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchers-overrides.js","sourceRoot":"","sources":["../../../../src/vendors/expect-webdriverio/matchers-overrides.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testplane",
3
- "version": "8.40.7",
3
+ "version": "8.40.9",
4
4
  "description": "Tests framework based on mocha and wdio",
5
5
  "main": "build/src/index.js",
6
6
  "files": [