testplane 8.40.6 → 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 (34) 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/browser/client-scripts/bundle.compat.js +1 -1
  27. package/build/src/browser/client-scripts/bundle.native.js +1 -1
  28. package/build/src/browser/client-scripts/index.js +5 -4
  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/worker/runner/test-runner/index.js +11 -0
  33. package/build/src/worker/runner/test-runner/index.js.map +1 -1
  34. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testplane",
3
- "version": "8.40.6",
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA6B;AAC7B,8DAAiC;AACjC,sDAAyB;AAEzB,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAmB,EAAE,CAC/D,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC5B,MAAM,IAAI,GAAG,qBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,cAAc,GAAG,iBAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAErD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5D,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAC7B,MAAM,CAAC,IAAI,KAAK,CAAC,4CAA4C,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC,CACpF,CAAC;AACN,CAAC,CAAC,CAAC;AAEP,MAAa,YAAY;IAIrB,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACnC,MAAM,UAAU,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE7D,IAAI,UAAU,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;QACtB,CAAC;QAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAEnD,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAEvD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAe;QACrC,MAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE/D,IAAI,UAAU,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;QACtB,CAAC;QAED,MAAM,2BAA2B,GAAG,CAAC,KAAK,IAAqB,EAAE;YAC7D,MAAM,SAAS,GAAG,wDAAa,4BAA4B,GAAC,CAAC;YAE7D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAElE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,kEAAkE,OAAO,GAAG,CAAC,CAAC;YAClG,CAAC;YAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,qBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAEtC,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAEnC,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;gBACjC,MAAM,eAAe,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBACvD,MAAM,eAAe,GAAG,mBAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACrD,MAAM,iBAAiB,GACnB,mBAAI,CAAC,GAAG,KAAK,mBAAI,CAAC,KAAK,CAAC,GAAG;oBACvB,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,mBAAI,CAAC,GAAG,EAAE,mBAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE/D,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAC9B,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,iBAAiB,IAAI,QAAQ,EAAE,CAAC,CAAC;gBACrD,CAAC,CAAC,CACL,CAAC;YACN,CAAC;YAED,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,EAAE,CAAC;QAEL,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;QAEzE,OAAO,2BAA2B,CAAC;IACvC,CAAC;;AA7DL,oCA8DC;AA7D2B,2BAAc,GAAiC,IAAI,GAAG,EAAE,CAAC;AACzD,8BAAiB,GAAiC,IAAI,GAAG,EAAE,CAAC"}
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>;