testplane 8.40.7 → 8.40.8

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 (29) 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/utils/crypto.d.ts +1 -0
  27. package/build/src/utils/crypto.js +2 -1
  28. package/build/src/utils/crypto.js.map +1 -1
  29. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testplane",
3
- "version": "8.40.7",
3
+ "version": "8.40.8",
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":"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"}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA8C;AAC9C,iDAAqE;AACrE,4CAAoB;AACpB,gDAAwB;AACxB,6BAA0B;AAC1B,8DAAgD;AAGhD,0CAAsD;AAEtD,2CAA+C;AAC/C,6CAAuD;AAGvD;;;;;;GAMG;AACI,MAAM,4BAA4B,GAAG,KAAK,EAC7C,GAAW,EACX,OAAmB,EACnB,SAAuB,EACA,EAAE;IACzB,MAAM,mBAAmB,GAAG,IAAI,SAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;IAE9D,IAAI,mBAAmB,EAAE,CAAC;QACtB,4FAA4F;QAC5F,wCAAwC;QACxC,OAAO,KAAK,CAAC,GAAG,CAAC;aACZ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACnB,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,iEAAiE;IACjE,wGAAwG;IACxG,IAAI,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,OAAO;aACT,QAAQ,CAAS,SAAS,EAAE;YACzB,UAAU,EAAE,UAAU,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,wBAAwB;YACxE,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;SACtB,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACzB,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;AACL,CAAC,CAAC;AA7BW,QAAA,4BAA4B,gCA6BvC;AAEF,MAAM,iBAAiB,GAAG,CAAC,2BAAmC,EAAW,EAAE;IACvE,OAAO,2BAA2B,CAAC,UAAU,CAAC,4BAAgB,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF;;;;GAIG;AACI,MAAM,qBAAqB,GAAG,CAAC,SAAuB,EAAE,UAAmB,EAAgB,EAAE;IAChG,SAAS,CAAC,UAAU,GAAG,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC;IAE1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,IAAI,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,4BAAgB,CAAC,MAAM,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAVW,QAAA,qBAAqB,yBAUhC;AAEF;;;;;;;;GAQG;AACI,MAAM,sBAAsB,GAAG,KAAK,EACvC,MAAc,EACd,UAAkB,EAClB,YAAsB,EACtB,UAAkB,EACE,EAAE;IACtB,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,MAAM,gBAAgB,GAAG,IAAA,6BAAqB,EAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IAEnF,MAAM,QAAQ,GAAG,IAAI,iCAAiB,CAAC,gBAAgB,CAAC,CAAC;IAEzD,IAAI,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;IAEzB,OAAO,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;QAClC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACrC,IAAI,IAAI,GAAG,IAAA,oBAAW,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAElD,IAAI,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,EAAE,CAAC;QACX,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1E,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAED,OAAO,oBAAoB,CAAC;AAChC,CAAC,CAAC;AAnCW,QAAA,sBAAsB,0BAmCjC;AAEF;;GAEG;AACI,MAAM,WAAW,GAAG,CAAC,eAAuB,EAAW,EAAE;IAC5D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,SAAG,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,WAAW,eAUtB;AAEF,MAAM,WAAW,GAAG,CAAC,eAAuB,EAAiB,EAAE;IAC3D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC;QACD,OAAO,IAAI,SAAG,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,uCAAuC,GAAG,IAAA,gBAAO,EAAC,CAAC,iBAAyB,EAAQ,EAAE;IACxF,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,CAAC,cAAI,CAAC,KAAK,CAAC,GAAG,EAAE,cAAI,CAAC,GAAG,CAAC,CAAC;IAE5E,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO;IACX,CAAC;IAED,MAAM,IAAI,KAAK,CACX;QACI,+BAA+B,YAAY,+BAA+B;QAC1E,wFAAwF;QACxF,0EAA0E;KAC7E,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAA,gBAAO,EAAC,CAAC,QAAgB,EAAE,UAAkB,EAAQ,EAAE;IACnF,MAAM,CAAC,IAAI,CAAC,+DAA+D,QAAQ,gBAAgB,UAAU,IAAI,CAAC,CAAC;AACvH,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACI,MAAM,2BAA2B,GAAG,CACvC,eAAmC,EACnC,cAAkC,EAClC,mBAAsE,EAChD,EAAE;IACxB,MAAM,gBAAgB,GAAG,eAAe,CAAC;IACzC,MAAM,MAAM,GAAgB,IAAI,GAAG,EAAE,CAAC;IACtC,MAAM,KAAK,GAAgB,IAAI,GAAG,EAAE,CAAC;IACrC,MAAM,UAAU,GAAgB,IAAI,GAAG,EAAE,CAAC;IAE1C,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAE,cAA2B,EAAQ,EAAE;QACjF,UAAU,GAAG,kBAAkB,CAAC,IAAA,sBAAiB,EAAC,UAAU,CAAC,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,QAAQ,EAAE,CAAC;YACX,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9C,OAAO;QACX,CAAC;QAED,MAAM,6BAA6B,GAAG,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,cAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAEhH,MAAM,sBAAsB,GAAG,mBAAmB;YAC9C,CAAC,CAAC,mBAAmB,CAAC,6BAA6B,CAAC;YACpD,CAAC,CAAC,6BAA6B,CAAC;QAEpC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QAED,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE7E,IAAI,mBAAmB,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7B,uCAAuC,CAAC,sBAAsB,CAAC,CAAC;YAChE,cAAc,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAC3C,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,mBAAmB,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAChE,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC;QACrE,IAAI,YAAY,CAAC;QAEjB,IAAI,kBAAkB,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YAEvE,YAAY,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;QAClG,CAAC;aAAM,CAAC;YACJ,YAAY,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,uCAAuC,CAAC,sBAAsB,CAAC,CAAC;YAChE,cAAc,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAEjE,uCAAuC,CAAC,UAAU,CAAC,CAAC;YAEpD,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,eAAe,EAAE,CAAC;QAClB,KAAK,MAAM,aAAa,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACjB,KAAK,MAAM,YAAY,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAEpE,OAAO;QACH,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;KAC/C,CAAC;AACN,CAAC,CAAC;AAjFW,QAAA,2BAA2B,+BAiFtC;AAEF,6DAA6D;AACtD,MAAM,uBAAuB,GAAG,CACnC,CAAyB,EACzB,CAAyB,EACH,EAAE;IACxB,MAAM,MAAM,GAA2B,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAExE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAwC,EAAE,CAAC;QAC/E,IAAI,IAAI,GAAG,CAAC,EACR,IAAI,GAAG,CAAC,CAAC;QAEb,OAAO,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1D,IAAI,aAAa,CAAC;YAElB,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC5B,aAAa,GAAG,CAAC,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnC,aAAa,GAAG,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACJ,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEvC,GAAG,CAAC;oBACA,IAAI,EAAE,CAAC;gBACX,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE;YACxD,CAAC;iBAAM,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEvC,GAAG,CAAC;oBACA,IAAI,EAAE,CAAC;gBACX,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE;YACxD,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEvC,GAAG,CAAC;oBACA,IAAI,EAAE,CAAC;gBACX,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE;gBAEpD,GAAG,CAAC;oBACA,IAAI,EAAE,CAAC;gBACX,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE;YACxD,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAhDW,QAAA,uBAAuB,2BAgDlC;AAEF,2BAA2B;AACpB,MAAM,iBAAiB,GAAG,CAAC,GAA4B,EAAQ,EAAE;IACpE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;QAEzC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;QAExB,GAAG,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC;IACvC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B;AAEK,MAAM,wBAAwB,GAAG,CAAC,oBAA4B,EAAU,EAAE,CAC7E,cAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;AADtC,QAAA,wBAAwB,4BACc;AAE5C,MAAM,oBAAoB,GAAG,CAChC,qBAA6B,EAC7B,WAAuC,EACd,EAAE,CAC3B,IAAA,oCAAuB,EAAC,qBAAqB,EAAE,WAAW,EAAE;IACxD,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;CACzD,CAAC;KACG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;KACvD,IAAI,CAAC,GAAG,CAAC,EAAE;IACR,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;IACjB,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC;IACnB,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC;IAEpB,OAAO,GAAG,CAAC;AACf,CAAC,CAAC,CAAC;AAdE,QAAA,oBAAoB,wBActB;AAEJ,MAAM,uBAAuB,GAAG,CAAC,oBAA4B,EAAU,EAAE,CAC5E,cAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;AADhC,QAAA,uBAAuB,2BACS;AAEtC,MAAM,uBAAuB,GAAG,CAAC,oBAA4B,EAAE,IAAU,EAAU,EAAE,CACxF,cAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AAD1C,QAAA,uBAAuB,2BACmB;AAEvD,qFAAqF;AAC9E,MAAM,oBAAoB,GAAG,CAChC,oBAA4B,EAC5B,IAAU,EACV,WAAuC,EACwB,EAAE,CACjE,IAAA,oCAAuB,EAAC,IAAA,+BAAuB,EAAC,oBAAoB,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE;IACtF,YAAY,EAAE,EAAE;CACnB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAPZ,QAAA,oBAAoB,wBAOR"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/utils.ts"],"names":[],"mappings":"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"}
@@ -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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testplane",
3
- "version": "8.40.7",
3
+ "version": "8.40.8",
4
4
  "description": "Tests framework based on mocha and wdio",
5
5
  "main": "build/src/index.js",
6
6
  "files": [