@matter/tools 0.15.2-alpha.0-20250703-2e16aba2b → 0.15.2-alpha.0-20250708-b8eb61a5e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/building/cycles.d.ts.map +1 -1
- package/dist/cjs/building/cycles.js +12 -0
- package/dist/cjs/building/cycles.js.map +1 -1
- package/dist/cjs/util/progress.d.ts.map +1 -1
- package/dist/cjs/util/progress.js +0 -3
- package/dist/cjs/util/progress.js.map +1 -1
- package/dist/esm/building/cycles.d.ts.map +1 -1
- package/dist/esm/building/cycles.js +13 -1
- package/dist/esm/building/cycles.js.map +1 -1
- package/dist/esm/util/progress.d.ts.map +1 -1
- package/dist/esm/util/progress.js +1 -4
- package/dist/esm/util/progress.js.map +1 -1
- package/package.json +2 -2
- package/src/building/cycles.ts +11 -0
- package/src/util/progress.ts +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cycles.d.ts","sourceRoot":"","sources":["../../../src/building/cycles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"cycles.d.ts","sourceRoot":"","sources":["../../../src/building/cycles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAQ/C,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,iBAKlE"}
|
|
@@ -41,6 +41,7 @@ var import_text_builder = require("../ansi-text/text-builder.js");
|
|
|
41
41
|
* Copyright 2022-2025 Matter.js Authors
|
|
42
42
|
* SPDX-License-Identifier: Apache-2.0
|
|
43
43
|
*/
|
|
44
|
+
const MAX_CYCLES = 1e3;
|
|
44
45
|
async function reportCycles(pkg, progress) {
|
|
45
46
|
const cycles = await progress.run(pkg.name, () => identifyCycles(pkg, progress));
|
|
46
47
|
if (cycles) {
|
|
@@ -60,6 +61,9 @@ async function identifyCycles(pkg, progress) {
|
|
|
60
61
|
const cycles = [];
|
|
61
62
|
for (const filename in deps) {
|
|
62
63
|
visit(filename, []);
|
|
64
|
+
if (cycles.length === MAX_CYCLES) {
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
63
67
|
}
|
|
64
68
|
function visit(filename, breadcrumb) {
|
|
65
69
|
progress.refresh();
|
|
@@ -94,6 +98,9 @@ async function identifyCycles(pkg, progress) {
|
|
|
94
98
|
breadcrumb = [...breadcrumb, filename];
|
|
95
99
|
for (const dep of fileDeps) {
|
|
96
100
|
visit(dep, breadcrumb);
|
|
101
|
+
if (cycles.length > MAX_CYCLES) {
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
97
104
|
}
|
|
98
105
|
}
|
|
99
106
|
return cycles.length ? cycles : void 0;
|
|
@@ -104,6 +111,11 @@ function printCycles(pkg, cycles) {
|
|
|
104
111
|
for (const cycle of cycles) {
|
|
105
112
|
import_std.std.out(" ", cycle.map((name) => import_text_builder.ansi.bright.blue((0, import_node_path.relative)(src, name))).join(" \u2192 "), " \u21A9\n");
|
|
106
113
|
}
|
|
114
|
+
if (cycles.length >= MAX_CYCLES) {
|
|
115
|
+
import_std.std.out(`
|
|
116
|
+
${import_text_builder.ansi.red(`Stopping search after max ${MAX_CYCLES} cycles`)}
|
|
117
|
+
`);
|
|
118
|
+
}
|
|
107
119
|
}
|
|
108
120
|
function resolveDeps(pkg, sourceFilename, deps) {
|
|
109
121
|
const dir = (0, import_node_path.dirname)(sourceFilename);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/building/cycles.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["detective"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/util/progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,eAAO,MAAM,mBAAmB,oDAAkB,CAAC;AACnD,eAAO,MAAM,mBAAmB,oDAAuB,CAAC;AACxD,eAAO,MAAM,mBAAmB,oDAAsB,CAAC;AAkFvD,qBAAa,QAAQ;;IACjB,MAAM,kBAA2B;;IAWjC,SAAS,CAAC,IAAI,EAAE,OAAO;IAIvB,WAAW,CAAC,IAAI,EAAE,OAAO;IAIzB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;IAI9B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO;IAcxD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAuBnC,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG;IAO/B,IAAI,CAAC,IAAI,EAAE,MAAM;IAIjB,KAAK;IAQL,CAAC,MAAM,CAAC,OAAO,CAAC;IAIhB,OAAO;IAMD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IA4B7C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAiBtD;AAED,yBAAiB,QAAQ,CAAC;IACtB,KAAY,MAAM;QACd,OAAO,YAAY;QACnB,OAAO,YAAY;QACnB,OAAO,YAAY;QACnB,OAAO,YAAY;KACtB;IAED,SAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/util/progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,eAAO,MAAM,mBAAmB,oDAAkB,CAAC;AACnD,eAAO,MAAM,mBAAmB,oDAAuB,CAAC;AACxD,eAAO,MAAM,mBAAmB,oDAAsB,CAAC;AAkFvD,qBAAa,QAAQ;;IACjB,MAAM,kBAA2B;;IAWjC,SAAS,CAAC,IAAI,EAAE,OAAO;IAIvB,WAAW,CAAC,IAAI,EAAE,OAAO;IAIzB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;IAI9B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO;IAcxD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAuBnC,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG;IAO/B,IAAI,CAAC,IAAI,EAAE,MAAM;IAIjB,KAAK;IAQL,CAAC,MAAM,CAAC,OAAO,CAAC;IAIhB,OAAO;IAMD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IA4B7C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAiBtD;AAED,yBAAiB,QAAQ,CAAC;IACtB,KAAY,MAAM;QACd,OAAO,YAAY;QACnB,OAAO,YAAY;QACnB,OAAO,YAAY;QACnB,OAAO,YAAY;KACtB;IAED,SAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,UAsB9C;CACJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/progress.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["writeStatus", "Progress", "Status"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cycles.d.ts","sourceRoot":"","sources":["../../../src/building/cycles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"cycles.d.ts","sourceRoot":"","sources":["../../../src/building/cycles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAQ/C,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,iBAKlE"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
const MAX_CYCLES = 1e3;
|
|
6
7
|
import { readFile } from "node:fs/promises";
|
|
7
8
|
import detective from "detective-typescript";
|
|
8
9
|
import { dirname, relative, resolve } from "node:path";
|
|
@@ -27,6 +28,9 @@ async function identifyCycles(pkg, progress) {
|
|
|
27
28
|
const cycles = [];
|
|
28
29
|
for (const filename in deps) {
|
|
29
30
|
visit(filename, []);
|
|
31
|
+
if (cycles.length === MAX_CYCLES) {
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
30
34
|
}
|
|
31
35
|
function visit(filename, breadcrumb) {
|
|
32
36
|
progress.refresh();
|
|
@@ -61,6 +65,9 @@ async function identifyCycles(pkg, progress) {
|
|
|
61
65
|
breadcrumb = [...breadcrumb, filename];
|
|
62
66
|
for (const dep of fileDeps) {
|
|
63
67
|
visit(dep, breadcrumb);
|
|
68
|
+
if (cycles.length > MAX_CYCLES) {
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
64
71
|
}
|
|
65
72
|
}
|
|
66
73
|
return cycles.length ? cycles : void 0;
|
|
@@ -71,6 +78,11 @@ function printCycles(pkg, cycles) {
|
|
|
71
78
|
for (const cycle of cycles) {
|
|
72
79
|
std.out(" ", cycle.map((name) => ansi.bright.blue(relative(src, name))).join(" \u2192 "), " \u21A9\n");
|
|
73
80
|
}
|
|
81
|
+
if (cycles.length >= MAX_CYCLES) {
|
|
82
|
+
std.out(`
|
|
83
|
+
${ansi.red(`Stopping search after max ${MAX_CYCLES} cycles`)}
|
|
84
|
+
`);
|
|
85
|
+
}
|
|
74
86
|
}
|
|
75
87
|
function resolveDeps(pkg, sourceFilename, deps) {
|
|
76
88
|
const dir = dirname(sourceFilename);
|
|
@@ -91,4 +103,4 @@ function resolveDeps(pkg, sourceFilename, deps) {
|
|
|
91
103
|
export {
|
|
92
104
|
reportCycles
|
|
93
105
|
};
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2J1aWxkaW5nL2N5Y2xlcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjItMjAyNSBNYXR0ZXIuanMgQXV0aG9yc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5jb25zdCBNQVhfQ1lDTEVTID0gMTAwMDtcblxuaW1wb3J0IHsgcmVhZEZpbGUgfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gXCIuLi91dGlsL3BhY2thZ2UuanNcIjtcbmltcG9ydCB7IFByb2dyZXNzIH0gZnJvbSBcIi4uL3V0aWwvcHJvZ3Jlc3MuanNcIjtcblxuLy8gQHRzLWV4cGVjdC1lcnJvciB3ZSBkb24ndCBoYXZlIHR5cGVzIGZvciBkZXRlY3RpdmUtdHlwZXNjcmlwdFxuaW1wb3J0IGRldGVjdGl2ZSBmcm9tIFwiZGV0ZWN0aXZlLXR5cGVzY3JpcHRcIjtcbmltcG9ydCB7IGRpcm5hbWUsIHJlbGF0aXZlLCByZXNvbHZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgc3RkIH0gZnJvbSBcIi4uL2Fuc2ktdGV4dC9zdGQuanNcIjtcbmltcG9ydCB7IGFuc2kgfSBmcm9tIFwiLi4vYW5zaS10ZXh0L3RleHQtYnVpbGRlci5qc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVwb3J0Q3ljbGVzKHBrZzogUGFja2FnZSwgcHJvZ3Jlc3M6IFByb2dyZXNzKSB7XG4gICAgY29uc3QgY3ljbGVzID0gYXdhaXQgcHJvZ3Jlc3MucnVuKHBrZy5uYW1lLCAoKSA9PiBpZGVudGlmeUN5Y2xlcyhwa2csIHByb2dyZXNzKSk7XG4gICAgaWYgKGN5Y2xlcykge1xuICAgICAgICBwcmludEN5Y2xlcyhwa2csIGN5Y2xlcyk7XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBpZGVudGlmeUN5Y2xlcyhwa2c6IFBhY2thZ2UsIHByb2dyZXNzOiBQcm9ncmVzcykge1xuICAgIGNvbnN0IGRlcHMgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT47XG4gICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBhd2FpdCBwa2cuZ2xvYihcIntzcmMsdGVzdH0vKiovKi50c1wiKSkge1xuICAgICAgICBjb25zdCBjb250ZW50cyA9IGF3YWl0IHJlYWRGaWxlKGZpbGVuYW1lLCBcInV0Zi04XCIpO1xuICAgICAgICBjb25zdCBmaWxlRGVwcyA9IGRldGVjdGl2ZShjb250ZW50cywge1xuICAgICAgICAgICAgc2tpcFR5cGVJbXBvcnRzOiB0cnVlLFxuICAgICAgICAgICAgc2tpcEFzeW5jSW1wb3J0czogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGRlcHNbZmlsZW5hbWVdID0gcmVzb2x2ZURlcHMocGtnLCBmaWxlbmFtZSwgZmlsZURlcHMpO1xuICAgIH1cblxuICAgIGNvbnN0IGN5Y2xlcyA9IFtdIGFzIHN0cmluZ1tdW107XG4gICAgZm9yIChjb25zdCBmaWxlbmFtZSBpbiBkZXBzKSB7XG4gICAgICAgIHZpc2l0KGZpbGVuYW1lLCBbXSk7XG4gICAgICAgIGlmIChjeWNsZXMubGVuZ3RoID09PSBNQVhfQ1lDTEVTKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHZpc2l0KGZpbGVuYW1lOiBzdHJpbmcsIGJyZWFkY3J1bWI6IHN0cmluZ1tdKSB7XG4gICAgICAgIHByb2dyZXNzLnJlZnJlc2goKTtcbiAgICAgICAgY29uc3QgZmlsZURlcHMgPSBkZXBzW2ZpbGVuYW1lXSA/PyBkZXBzW2ZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzJC8sIFwiLnRzXCIpXTtcbiAgICAgICAgaWYgKGZpbGVEZXBzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSBicmVhZGNydW1iLmluZGV4T2YoZmlsZW5hbWUpO1xuICAgICAgICBpZiAocHJldmlvdXNJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0N5Y2xlID0gYnJlYWRjcnVtYi5zbGljZShwcmV2aW91c0luZGV4KTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY3ljbGUgb2YgY3ljbGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZW5hbWVPZmZzZXQgPSBjeWNsZS5pbmRleE9mKGZpbGVuYW1lKTtcbiAgICAgICAgICAgICAgICBpZiAoY3ljbGUubGVuZ3RoICE9PSBuZXdDeWNsZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChmaWxlbmFtZU9mZnNldCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuZXdDeWNsZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV3Q3ljbGVbaV0gIT09IGN5Y2xlWyhmaWxlbmFtZU9mZnNldCArIGkpICUgbmV3Q3ljbGUubGVuZ3RoXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaSA9PT0gbmV3Q3ljbGUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjeWNsZXMucHVzaChuZXdDeWNsZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBicmVhZGNydW1iID0gWy4uLmJyZWFkY3J1bWIsIGZpbGVuYW1lXTtcbiAgICAgICAgZm9yIChjb25zdCBkZXAgb2YgZmlsZURlcHMpIHtcbiAgICAgICAgICAgIHZpc2l0KGRlcCwgYnJlYWRjcnVtYik7XG4gICAgICAgICAgICBpZiAoY3ljbGVzLmxlbmd0aCA+IE1BWF9DWUNMRVMpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjeWNsZXMubGVuZ3RoID8gY3ljbGVzIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBwcmludEN5Y2xlcyhwa2c6IFBhY2thZ2UsIGN5Y2xlczogc3RyaW5nW11bXSkge1xuICAgIHN0ZC5vdXQoYW5zaS5yZWQoXCJDeWNsZXMgZGV0ZWN0ZWQ6XCIpLCBcIlxcblwiKTtcbiAgICBjb25zdCBzcmMgPSBwa2cucmVzb2x2ZShcInNyY1wiKTtcbiAgICBmb3IgKGNvbnN0IGN5Y2xlIG9mIGN5Y2xlcykge1xuICAgICAgICBzdGQub3V0KFwiICBcIiwgY3ljbGUubWFwKG5hbWUgPT4gYW5zaS5icmlnaHQuYmx1ZShyZWxhdGl2ZShzcmMsIG5hbWUpKSkuam9pbihcIiBcdTIxOTIgXCIpLCBcIiBcdTIxQTlcXG5cIik7XG4gICAgfVxuICAgIGlmIChjeWNsZXMubGVuZ3RoID49IE1BWF9DWUNMRVMpIHtcbiAgICAgICAgc3RkLm91dChgXFxuJHthbnNpLnJlZChgU3RvcHBpbmcgc2VhcmNoIGFmdGVyIG1heCAke01BWF9DWUNMRVN9IGN5Y2xlc2ApfVxcbmApO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gcmVzb2x2ZURlcHMocGtnOiBQYWNrYWdlLCBzb3VyY2VGaWxlbmFtZTogc3RyaW5nLCBkZXBzOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IGRpciA9IGRpcm5hbWUoc291cmNlRmlsZW5hbWUpO1xuICAgIGNvbnN0IGFsaWFzZXMgPSBwa2cuaW1wb3J0QWxpYXNlcztcbiAgICBjb25zdCByZXNvbHZlZCA9IEFycmF5PHN0cmluZz4oKTtcblxuICAgIGZvciAobGV0IGRlcCBvZiBkZXBzKSB7XG4gICAgICAgIGxldCBiYXNlID0gZGlyO1xuICAgICAgICBpZiAoZGVwLnN0YXJ0c1dpdGgoXCIjXCIpKSB7XG4gICAgICAgICAgICBkZXAgPSBhbGlhc2VzLnJld3JpdGUoZGVwKTtcbiAgICAgICAgICAgIGJhc2UgPSBwa2cucGF0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVwLnN0YXJ0c1dpdGgoXCIuL1wiKSkge1xuICAgICAgICAgICAgcmVzb2x2ZWQucHVzaChyZXNvbHZlKGJhc2UsIGRlcCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc29sdmVkO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLE1BQU0sYUFBYTtBQUVuQixTQUFTLGdCQUFnQjtBQUt6QixPQUFPLGVBQWU7QUFDdEIsU0FBUyxTQUFTLFVBQVUsZUFBZTtBQUMzQyxTQUFTLFdBQVc7QUFDcEIsU0FBUyxZQUFZO0FBRXJCLGVBQXNCLGFBQWEsS0FBYyxVQUFvQjtBQUNqRSxRQUFNLFNBQVMsTUFBTSxTQUFTLElBQUksSUFBSSxNQUFNLE1BQU0sZUFBZSxLQUFLLFFBQVEsQ0FBQztBQUMvRSxNQUFJLFFBQVE7QUFDUixnQkFBWSxLQUFLLE1BQU07QUFBQSxFQUMzQjtBQUNKO0FBRUEsZUFBZSxlQUFlLEtBQWMsVUFBb0I7QUFDNUQsUUFBTSxPQUFPLENBQUM7QUFDZCxhQUFXLFlBQVksTUFBTSxJQUFJLEtBQUssb0JBQW9CLEdBQUc7QUFDekQsVUFBTSxXQUFXLE1BQU0sU0FBUyxVQUFVLE9BQU87QUFDakQsVUFBTSxXQUFXLFVBQVUsVUFBVTtBQUFBLE1BQ2pDLGlCQUFpQjtBQUFBLE1BQ2pCLGtCQUFrQjtBQUFBLElBQ3RCLENBQUM7QUFDRCxTQUFLLFFBQVEsSUFBSSxZQUFZLEtBQUssVUFBVSxRQUFRO0FBQUEsRUFDeEQ7QUFFQSxRQUFNLFNBQVMsQ0FBQztBQUNo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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/building/cycles.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gBAAgB;AAKzB,OAAO,eAAe;AACtB,SAAS,SAAS,UAAU,eAAe;AAC3C,SAAS,WAAW;AACpB,SAAS,YAAY;AAErB,eAAsB,aAAa,KAAc,UAAoB;AACjE,QAAM,SAAS,MAAM,SAAS,IAAI,IAAI,MAAM,MAAM,eAAe,KAAK,QAAQ,CAAC;AAC/E,MAAI,QAAQ;AACR,gBAAY,KAAK,MAAM;AAAA,EAC3B;AACJ;AAEA,eAAe,eAAe,KAAc,UAAoB;AAC5D,QAAM,OAAO,CAAC;AACd,aAAW,YAAY,MAAM,IAAI,KAAK,oBAAoB,GAAG;AACzD,UAAM,WAAW,MAAM,SAAS,UAAU,OAAO;AACjD,UAAM,WAAW,UAAU,UAAU;AAAA,MACjC,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,IACtB,CAAC;AACD,SAAK,QAAQ,IAAI,YAAY,KAAK,UAAU,QAAQ;AAAA,EACxD;AAEA,QAAM,SAAS,CAAC;AAChB,aAAW,YAAY,MAAM;AACzB,UAAM,UAAU,CAAC,CAAC;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/util/progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,eAAO,MAAM,mBAAmB,oDAAkB,CAAC;AACnD,eAAO,MAAM,mBAAmB,oDAAuB,CAAC;AACxD,eAAO,MAAM,mBAAmB,oDAAsB,CAAC;AAkFvD,qBAAa,QAAQ;;IACjB,MAAM,kBAA2B;;IAWjC,SAAS,CAAC,IAAI,EAAE,OAAO;IAIvB,WAAW,CAAC,IAAI,EAAE,OAAO;IAIzB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;IAI9B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO;IAcxD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAuBnC,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG;IAO/B,IAAI,CAAC,IAAI,EAAE,MAAM;IAIjB,KAAK;IAQL,CAAC,MAAM,CAAC,OAAO,CAAC;IAIhB,OAAO;IAMD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IA4B7C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAiBtD;AAED,yBAAiB,QAAQ,CAAC;IACtB,KAAY,MAAM;QACd,OAAO,YAAY;QACnB,OAAO,YAAY;QACnB,OAAO,YAAY;QACnB,OAAO,YAAY;KACtB;IAED,SAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/util/progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,eAAO,MAAM,mBAAmB,oDAAkB,CAAC;AACnD,eAAO,MAAM,mBAAmB,oDAAuB,CAAC;AACxD,eAAO,MAAM,mBAAmB,oDAAsB,CAAC;AAkFvD,qBAAa,QAAQ;;IACjB,MAAM,kBAA2B;;IAWjC,SAAS,CAAC,IAAI,EAAE,OAAO;IAIvB,WAAW,CAAC,IAAI,EAAE,OAAO;IAIzB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;IAI9B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO;IAcxD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAuBnC,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG;IAO/B,IAAI,CAAC,IAAI,EAAE,MAAM;IAIjB,KAAK;IAQL,CAAC,MAAM,CAAC,OAAO,CAAC;IAIhB,OAAO;IAMD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IA4B7C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAiBtD;AAED,yBAAiB,QAAQ,CAAC;IACtB,KAAY,MAAM;QACd,OAAO,YAAY;QACnB,OAAO,YAAY;QACnB,OAAO,YAAY;QACnB,OAAO,YAAY;KACtB;IAED,SAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,UAsB9C;CACJ"}
|
|
@@ -215,9 +215,6 @@ class Progress {
|
|
|
215
215
|
if (time.startsWith("0.")) {
|
|
216
216
|
time = time.slice(1);
|
|
217
217
|
}
|
|
218
|
-
while (time.endsWith("0")) {
|
|
219
|
-
time = time.slice(0, time.length - 1);
|
|
220
|
-
}
|
|
221
218
|
if (time.endsWith(".")) {
|
|
222
219
|
if (time.length === 1) {
|
|
223
220
|
time = "0";
|
|
@@ -241,4 +238,4 @@ export {
|
|
|
241
238
|
STATUS_ICON_SKIPPED,
|
|
242
239
|
STATUS_ICON_SUCCESS
|
|
243
240
|
};
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWwvcHJvZ3Jlc3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIyLTIwMjUgTWF0dGVyLmpzIEF1dGhvcnNcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgc3RkZXJyLCBzdGRvdXQgfSBmcm9tIFwibm9kZTpwcm9jZXNzXCI7XG5pbXBvcnQgeyBzY3JlZW4gfSBmcm9tIFwiLi4vYW5zaS10ZXh0L3NjcmVlbi5qc1wiO1xuaW1wb3J0IHsgc3RkIH0gZnJvbSBcIi4uL2Fuc2ktdGV4dC9zdGQuanNcIjtcbmltcG9ydCB7IGFuc2kgfSBmcm9tIFwiLi4vYW5zaS10ZXh0L3RleHQtYnVpbGRlci5qc1wiO1xuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gXCIuL3BhY2thZ2UuanNcIjtcblxuZXhwb3J0IGNvbnN0IFNUQVRVU19JQ09OX1NVQ0NFU1MgPSBhbnNpLmdyZWVuKFwiXHUyNzEzXCIpO1xuZXhwb3J0IGNvbnN0IFNUQVRVU19JQ09OX0ZBSUxVUkUgPSBhbnNpLmJyaWdodC5yZWQoXCJcdTI3MTdcIik7XG5leHBvcnQgY29uc3QgU1RBVFVTX0lDT05fU0tJUFBFRCA9IGFuc2kuZGltLndoaXRlKFwiXHUyMDQzXCIpO1xuXG5jb25zdCBTUElOTkVSID0gXCJcdTI1RDBcdTI1RDNcdTI1RDFcdTI1RDJcIjsgLy9cIlx1Mjg1Q1x1MjgxNFx1MjgyMlx1MjhBM1wiOyAvL1tcIlx1MjZBQlx1RkUwRVwiLCBcIlx1MjZBQVx1RkUwRVwiXTsgXCJcdTI4NDhcdTI4MTRcdTI4MjJcdTI4ODFcIjtcbmNvbnN0IFNQSU5ORVJfSU5URVJWQUwgPSAxMDA7XG5cbmZ1bmN0aW9uIHBhY2thZ2VJZGVudGl0eShwa2c6IFBhY2thZ2UpIHtcbiAgICBsZXQgaWRlbnRpdHkgPSBhbnNpLmJvbGQocGtnLm5hbWUpLnRvU3RyaW5nKCk7XG4gICAgaWYgKHBrZy5qc29uLnZlcnNpb24pIHtcbiAgICAgICAgaWRlbnRpdHkgPSBgJHtpZGVudGl0eX1AJHtwa2cuanNvbi52ZXJzaW9ufWA7XG4gICAgfVxuICAgIHJldHVybiBpZGVudGl0eTtcbn1cblxuLyoqXG4gKiBJbnRlcmNlcHQgd3JpdGVzIHRvIHN0ZGVyciBhbmQgc3Rkb3V0IHNvIHdlIGNhbiBlbnN1cmUgb3VyIHVwZGF0ZXMgYXBwZWFyIG9uIGRpZmZlcmVudCBsaW5lcyBmcm9tIG90aGVyIG91dHB1dC5cbiAqL1xuY29uc3Qgd3JpdGVTdGF0dXMgPSAoKCkgPT4ge1xuICAgIGxldCBsYXN0U3RhdHVzOiB1bmRlZmluZWQgfCBzdHJpbmc7XG4gICAgbGV0IG5lZWROZXdsaW5lID0gZmFsc2U7XG4gICAgbGV0IG5lZWRzQ2xlYXIgPSBmYWxzZTtcblxuICAgIGZ1bmN0aW9uIGludGVyY2VwdChzdHJlYW06IE5vZGVKUy5Xcml0ZVN0cmVhbSkge1xuICAgICAgICBjb25zdCBhY3R1YWxXcml0ZSA9IHN0cmVhbS53cml0ZTtcbiAgICAgICAgc3RyZWFtLndyaXRlID0gKHBheWxvYWQ6IFVpbnQ4QXJyYXkgfCBzdHJpbmcsIC4uLnBhcmFtczogYW55W10pID0+IHtcbiAgICAgICAgICAgIGlmIChsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBheWxvYWRbMF0gIT09IFwiXFxuXCIgJiYgcGF5bG9hZFswXSAhPT0gMHhhICYmIG5lZWROZXdsaW5lKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdHVhbFdyaXRlLmNhbGwoc3RyZWFtLCBcIlxcblwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGFzdFN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFwYXlsb2FkLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBSZXF1aXJlIGEgbmV3bGluZSBmb3Igc3RhdHVzIHVwZGF0ZXMgYW55IHRpbWUgdGhlIGN1cnNvciBkb2VzIG5vdCBlbmQgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmVcbiAgICAgICAgICAgIHN3aXRjaCAocGF5bG9hZFtwYXlsb2FkLmxlbmd0aCAtIDFdKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBcIlxcblwiOlxuICAgICAgICAgICAgICAgIGNhc2UgMHhhOlxuICAgICAgICAgICAgICAgIGNhc2UgXCJcXHJcIjpcbiAgICAgICAgICAgICAgICBjYXNlIDB4ZDpcbiAgICAgICAgICAgICAgICAgICAgbmVlZE5ld2xpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBuZWVkTmV3bGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobmVlZHNDbGVhcikge1xuICAgICAgICAgICAgICAgIGFjdHVhbFdyaXRlLmNhbGwoc3RyZWFtLCBzY3JlZW4uZXJhc2UudG9Fb2wpO1xuICAgICAgICAgICAgICAgIG5lZWRzQ2xlYXIgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGFjdHVhbFdyaXRlLmNhbGwoc3RyZWFtLCBwYXlsb2FkLCAuLi5wYXJhbXMpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGludGVyY2VwdChzdGRvdXQpO1xuICAgIGludGVyY2VwdChzdGRlcnIpO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIHdyaXRlU3RhdHVzKHRleHQ6IHN0cmluZywgd2lsbE92ZXJ3cml0ZSA9IGZhbHNlKSB7XG4gICAgICAgIHRleHQgKz0gd2lsbE92ZXJ3cml0ZSA/IGAke3NjcmVlbi5lcmFzZS50b0VvbH1cXHJgIDogYCR7c2NyZWVuLmVyYXNlLnRvRW9sfVxcbmA7XG4gICAgICAgIGlmICh0ZXh0ID09PSBsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzdGQub3V0LnN0YXRlKHsgYnVmZmVyOiB0cnVlIH0sICgpID0+IHtcbiAgICAgICAgICAgIGlmIChsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgbGFzdFN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmVlZE5ld2xpbmUgJiYgIXRleHQuc3RhcnRzV2l0aChcIlxcblwiKSkge1xuICAgICAgICAgICAgICAgIHN0ZC5vdXQoXCJcXG5cIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0ZC5vdXQud3JpdGVUcnVuY2F0ZWQodGV4dCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxhc3RTdGF0dXMgPSB0ZXh0O1xuICAgICAgICBuZWVkc0NsZWFyID0gd2lsbE92ZXJ3cml0ZTtcbiAgICB9O1xufSkoKTtcblxuZXhwb3J0IGNsYXNzIFByb2dyZXNzIHtcbiAgICBzdGF0dXMgPSBQcm9ncmVzcy5TdGF0dXMuU3RhcnR1cDtcbiAgICAjb25nb2luZz86IHsgdGV4dDogc3RyaW5nOyBleHRyYT86IHN0cmluZyB9O1xuICAgICNzdGFydD86IG51bWJlcjtcbiAgICAjc3Bpbm5lciA9IFwiXHUyOUQ3XCI7XG4gICAgI3JlZnJlc2hJbnRlcnZhbD86IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPjtcbiAgICAjc3Bpbm5lclBvc2l0aW9uID0gMDtcbiAgICAjc3Bpbm5lcldpbmRvdz86IG51bWJlcjtcbiAgICAjc3VidGFza3MgPSBBcnJheTxzdHJpbmc+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBlbXBoYXNpemUodGV4dDogdW5rbm93bikge1xuICAgICAgICByZXR1cm4gYW5zaS5ib2xkKGAke3RleHR9YCk7XG4gICAgfVxuXG4gICAgZGVlbXBoYXNpemUodGV4dDogdW5rbm93bikge1xuICAgICAgICByZXR1cm4gYW5zaS5kaW0oYCR7dGV4dH1gKTtcbiAgICB9XG5cbiAgICBza2lwKHdoeTogc3RyaW5nLCBwa2c6IFBhY2thZ2UpIHtcbiAgICAgICAgc3RkLm91dC53cml0ZShhbnNpLmRpbShgU2tpcCAke3BhY2thZ2VJZGVudGl0eShwa2cpfTogJHt3aHl9XFxuXFxuYCkpO1xuICAgIH1cblxuICAgIHN0YXJ0dXAod2hhdDogc3RyaW5nLCBwa2dPck92ZXJ3cml0ZT86IFBhY2thZ2UgfCBib29sZWFuKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLnN0ZG91dC5pc1RUWSkge1xuICAgICAgICAgICAgdGhpcy4jdXBkYXRlU3Bpbm5lcigpO1xuICAgICAgICAgICAgdGhpcy4jcmVmcmVzaEludGVydmFsID0gc2V0SW50ZXJ2YWwodGhpcy5yZWZyZXNoLmJpbmQodGhpcyksIFNQSU5ORVJfSU5URVJWQUwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdGF0dXMgPSBQcm9ncmVzcy5TdGF0dXMuU3RhcnR1cDtcbiAgICAgICAgaWYgKHBrZ09yT3ZlcndyaXRlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHBrZ09yT3ZlcndyaXRlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICAgICAgd3JpdGVTdGF0dXMod2hhdCwgcGtnT3JPdmVyd3JpdGUgPz8gdHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3cml0ZVN0YXR1cyhgJHt3aGF0fSAke3BhY2thZ2VJZGVudGl0eShwa2dPck92ZXJ3cml0ZSl9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGUodGV4dDogc3RyaW5nLCBleHRyYT86IHN0cmluZykge1xuICAgICAgICB0aGlzLnN0YXR1cyA9IFByb2dyZXNzLlN0YXR1cy5PbmdvaW5nO1xuICAgICAgICBpZiAodGhpcy4jc3RhcnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy4jc3RhcnQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgfVxuICAgICAgICBleHRyYSA9IGV4dHJhID09PSB1bmRlZmluZWQgPyBcIlwiIDogYCAke2V4dHJhfWA7XG4gICAgICAgIHRoaXMuI29uZ29pbmcgPSB7IHRleHQsIGV4dHJhIH07XG4gICAgICAgIHRoaXMuI3dyaXRlT25nb2luZygpO1xuICAgIH1cblxuICAgICN3cml0ZU9uZ29pbmcoKSB7XG4gICAgICAgIGlmICghdGhpcy4jb25nb2luZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXh0cmEgPSB0aGlzLiNvbmdvaW5nLmV4dHJhID8gYCAke3RoaXMuI29uZ29pbmcuZXh0cmF9YCA6IFwiXCI7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgJHt0aGlzLiNvbmdvaW5nLnRleHR9ICR7dGhpcy4jZHVyYXRpb259JHtleHRyYX1gO1xuXG4gICAgICAgIGNvbnN0IHN1YnRhc2sgPSB0aGlzLiNzdWJ0YXNrcy5sZW5ndGggPyBhbnNpLmRpbShgICgke3RoaXMuI3N1YnRhc2tzW3RoaXMuI3N1YnRhc2tzLmxlbmd0aCAtIDFdfSlgKSA6IFwiXCI7XG5cbiAgICAgICAgd3JpdGVTdGF0dXMoYCAgJHthbnNpLnllbGxvdyh0aGlzLiNzcGlubmVyKX0gJHttZXNzYWdlfSR7c3VidGFza31gLCB0cnVlKTtcbiAgICB9XG5cbiAgICBzdWNjZXNzKHRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnN0YXR1cyA9IFByb2dyZXNzLlN0YXR1cy5TdWNjZXNzO1xuICAgICAgICB3cml0ZVN0YXR1cyhgICAke1NUQVRVU19JQ09OX1NVQ0NFU1N9ICR7dGV4dH0gJHt0aGlzLiNkdXJhdGlvbn1gKTtcbiAgICAgICAgdGhpcy4jc3RhcnQgPSB0aGlzLiNvbmdvaW5nID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGZhaWx1cmUodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLkZhaWx1cmU7XG4gICAgICAgIHdyaXRlU3RhdHVzKGAgICR7U1RBVFVTX0lDT05fRkFJTFVSRX0gJHt0ZXh0fSAke3RoaXMuI2R1cmF0aW9ufWApO1xuICAgICAgICB0aGlzLiNzdGFydCA9IHRoaXMuI29uZ29pbmcgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaW5mbyhsYWJlbDogc3RyaW5nLCB2YWx1ZT86IGFueSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGxhYmVsID0gYCR7YW5zaS5kaW0obGFiZWwpfSAke3ZhbHVlfWA7XG4gICAgICAgIH1cbiAgICAgICAgd3JpdGVTdGF0dXMoYCAgJHthbnNpLmRpbShcIlx1MjAyM1wiKX0gJHtsYWJlbH1gKTtcbiAgICB9XG5cbiAgICB3YXJuKHRleHQ6IHN0cmluZykge1xuICAgICAgICBzdGQub3V0LndyaXRlKGAgICAgJHthbnNpLnllbGxvdyhcIldhcm5pbmc6XCIpfSAke3RleHR9XFxuYCk7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICh0aGlzLiNyZWZyZXNoSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy4jcmVmcmVzaEludGVydmFsKTtcbiAgICAgICAgICAgIHRoaXMuI3JlZnJlc2hJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB3cml0ZVN0YXR1cyhcIlwiKTtcbiAgICB9XG5cbiAgICBbU3ltYm9sLmRpc3Bvc2VdKCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcmVmcmVzaCgpIHtcbiAgICAgICAgaWYgKHRoaXMuI3VwZGF0ZVNwaW5uZXIoKSkge1xuICAgICAgICAgICAgdGhpcy4jd3JpdGVPbmdvaW5nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBzdWJ0YXNrKHRleHQ6IHN0cmluZywgZm46ICgpID0+IFByb21pc2U8dm9pZD4pIHtcbiAgICAgICAgdGhpcy4jc3VidGFza3MucHVzaCh0ZXh0KTtcbiAgICAgICAgdGhpcy4jd3JpdGVPbmdvaW5nKCk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IGZuKCk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLiNzdWJ0YXNrcy5wb3AoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN1cGRhdGVTcGlubmVyKCkge1xuICAgICAgICBpZiAoIXN0ZG91dC5pc1RUWSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgd2luZG93ID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIFNQSU5ORVJfSU5URVJWQUwpO1xuICAgICAgICBpZiAodGhpcy4jc3Bpbm5lcldpbmRvdyA9PT0gd2luZG93KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy4jc3Bpbm5lcldpbmRvdyA9IHdpbmRvdztcblxuICAgICAgICB0aGlzLiNzcGlubmVyUG9zaXRpb24gPSAodGhpcy4jc3Bpbm5lclBvc2l0aW9uICsgMSkgJSBTUElOTkVSLmxlbmd0aDtcbiAgICAgICAgdGhpcy4jc3Bpbm5lciA9IFNQSU5ORVJbdGhpcy4jc3Bpbm5lclBvc2l0aW9uXTtcblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBhc3luYyBydW48VD4od2hhdDogc3RyaW5nLCBmbjogKCkgPT4gVCB8IFByb21pc2U8VD4pIHtcbiAgICAgICAgdGhpcy51cGRhdGUod2hhdCk7XG4gICAgICAgIGxldCByZXN1bHQ6IFQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXN1bHQgPSBhd2FpdCBmbigpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLmZhaWx1cmUod2hhdCk7XG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3VjY2Vzcyh3aGF0KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBnZXQgI2R1cmF0aW9uKCkge1xuICAgICAgICBjb25zdCBkdXJhdGlvbiA9IHRoaXMuI3N0YXJ0ID8gbmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLiNzdGFydCA6IDA7XG4gICAgICAgIHJldHVybiBQcm9ncmVzcy5mb3JtYXREdXJhdGlvbihkdXJhdGlvbik7XG4gICAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFByb2dyZXNzIHtcbiAgICBleHBvcnQgZW51bSBTdGF0dXMge1xuICAgICAgICBTdGFydHVwID0gXCJzdGFydHVwXCIsXG4gICAgICAgIE9uZ29pbmcgPSBcIm9uZ29pbmdcIixcbiAgICAgICAgU3VjY2VzcyA9IFwic3VjY2Vzc1wiLFxuICAgICAgICBGYWlsdXJlID0gXCJmYWlsdXJlXCIsXG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdER1cmF0aW9uKGR1cmF0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgZHVyYXRpb24gLz0gMTAwMDtcbiAgICAgICAgbGV0IHRpbWU7XG4gICAgICAgIGlmIChkdXJhdGlvbiA8IDEwKSB7XG4gICAgICAgICAgICB0aW1lID0gZHVyYXRpb24udG9QcmVjaXNpb24oMik7XG4gICAgICAgICAgICBpZiAodGltZS5zdGFydHNXaXRoKFwiMC5cIikpIHtcbiAgICAgICAgICAgICAgICB0aW1lID0gdGltZS5zbGljZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHdoaWxlICh0aW1lLmVuZHNXaXRoKFwiMFwiKSkge1xuICAgICAgICAgICAgICAgIHRpbWUgPSB0aW1lLnNsaWNlKDAsIHRpbWUubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGltZS5lbmRzV2l0aChcIi5cIikpIHtcbiAgICAgICAgICAgICAgICBpZiAodGltZS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZSA9IFwiMFwiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWUgPSB0aW1lLnNsaWNlKDAsIHRpbWUubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGltZSArPSBcInNcIjtcbiAgICAgICAgfSBlbHNlIGlmIChkdXJhdGlvbiA8IDYwKSB7XG4gICAgICAgICAgICB0aW1lID0gYCR7TWF0aC50cnVuYyhkdXJhdGlvbil9c2A7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aW1lID0gYCR7TWF0aC50cnVuYyhkdXJhdGlvbiAvIDYwKX1tICR7TWF0aC50cnVuYyhkdXJhdGlvbikgJSA2MH1zYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7YW5zaS5kaW0ueWVsbG93fSgke3RpbWV9KSR7YW5zaS5ub3QuZGltLm5vdC55ZWxsb3d9YDtcbiAgICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsU0FBUyxRQUFRLGNBQWM7QUFDL0IsU0FBUyxjQUFjO0FBQ3ZCLFNBQVMsV0FBVztBQUNwQixTQUFTLFlBQVk7QUFHZCxNQUFNLHNCQUFzQixLQUFLLE1BQU0sUUFBRztBQUMxQyxNQUFNLHNCQUFzQixLQUFLLE9BQU8sSUFBSSxRQUFHO0FBQy9DLE1BQU0sc0JBQXNCLEtBQUssSUFBSSxNQUFNLFFBQUc7QUFFckQsTUFBTSxVQUFVO0FBQ2hCLE1BQU0sbUJBQW1CO0FBRXpCLFNBQVMsZ0JBQWdCLEtBQWM7QUFDbkMsTUFBSSxXQUFXLEtBQUssS0FBSyxJQUFJLElBQUksRUFBRSxTQUFTO0FBQzVDLE1BQUksSUFBSSxLQUFLLFNBQVM7QUFDbEIsZUFBVyxHQUFHLFFBQVEsSUFBSSxJQUFJLEtBQUssT0FBTztBQUFBLEVBQzlDO0FBQ0EsU0FBTztBQUNYO0FBS0EsTUFBTSxlQUFlLE1BQU07QUFDdkIsTUFBSTtBQUNKLE1BQUksY0FBYztBQUNsQixNQUFJLGFB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
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWwvcHJvZ3Jlc3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIyLTIwMjUgTWF0dGVyLmpzIEF1dGhvcnNcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgc3RkZXJyLCBzdGRvdXQgfSBmcm9tIFwibm9kZTpwcm9jZXNzXCI7XG5pbXBvcnQgeyBzY3JlZW4gfSBmcm9tIFwiLi4vYW5zaS10ZXh0L3NjcmVlbi5qc1wiO1xuaW1wb3J0IHsgc3RkIH0gZnJvbSBcIi4uL2Fuc2ktdGV4dC9zdGQuanNcIjtcbmltcG9ydCB7IGFuc2kgfSBmcm9tIFwiLi4vYW5zaS10ZXh0L3RleHQtYnVpbGRlci5qc1wiO1xuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gXCIuL3BhY2thZ2UuanNcIjtcblxuZXhwb3J0IGNvbnN0IFNUQVRVU19JQ09OX1NVQ0NFU1MgPSBhbnNpLmdyZWVuKFwiXHUyNzEzXCIpO1xuZXhwb3J0IGNvbnN0IFNUQVRVU19JQ09OX0ZBSUxVUkUgPSBhbnNpLmJyaWdodC5yZWQoXCJcdTI3MTdcIik7XG5leHBvcnQgY29uc3QgU1RBVFVTX0lDT05fU0tJUFBFRCA9IGFuc2kuZGltLndoaXRlKFwiXHUyMDQzXCIpO1xuXG5jb25zdCBTUElOTkVSID0gXCJcdTI1RDBcdTI1RDNcdTI1RDFcdTI1RDJcIjsgLy9cIlx1Mjg1Q1x1MjgxNFx1MjgyMlx1MjhBM1wiOyAvL1tcIlx1MjZBQlx1RkUwRVwiLCBcIlx1MjZBQVx1RkUwRVwiXTsgXCJcdTI4NDhcdTI4MTRcdTI4MjJcdTI4ODFcIjtcbmNvbnN0IFNQSU5ORVJfSU5URVJWQUwgPSAxMDA7XG5cbmZ1bmN0aW9uIHBhY2thZ2VJZGVudGl0eShwa2c6IFBhY2thZ2UpIHtcbiAgICBsZXQgaWRlbnRpdHkgPSBhbnNpLmJvbGQocGtnLm5hbWUpLnRvU3RyaW5nKCk7XG4gICAgaWYgKHBrZy5qc29uLnZlcnNpb24pIHtcbiAgICAgICAgaWRlbnRpdHkgPSBgJHtpZGVudGl0eX1AJHtwa2cuanNvbi52ZXJzaW9ufWA7XG4gICAgfVxuICAgIHJldHVybiBpZGVudGl0eTtcbn1cblxuLyoqXG4gKiBJbnRlcmNlcHQgd3JpdGVzIHRvIHN0ZGVyciBhbmQgc3Rkb3V0IHNvIHdlIGNhbiBlbnN1cmUgb3VyIHVwZGF0ZXMgYXBwZWFyIG9uIGRpZmZlcmVudCBsaW5lcyBmcm9tIG90aGVyIG91dHB1dC5cbiAqL1xuY29uc3Qgd3JpdGVTdGF0dXMgPSAoKCkgPT4ge1xuICAgIGxldCBsYXN0U3RhdHVzOiB1bmRlZmluZWQgfCBzdHJpbmc7XG4gICAgbGV0IG5lZWROZXdsaW5lID0gZmFsc2U7XG4gICAgbGV0IG5lZWRzQ2xlYXIgPSBmYWxzZTtcblxuICAgIGZ1bmN0aW9uIGludGVyY2VwdChzdHJlYW06IE5vZGVKUy5Xcml0ZVN0cmVhbSkge1xuICAgICAgICBjb25zdCBhY3R1YWxXcml0ZSA9IHN0cmVhbS53cml0ZTtcbiAgICAgICAgc3RyZWFtLndyaXRlID0gKHBheWxvYWQ6IFVpbnQ4QXJyYXkgfCBzdHJpbmcsIC4uLnBhcmFtczogYW55W10pID0+IHtcbiAgICAgICAgICAgIGlmIChsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBheWxvYWRbMF0gIT09IFwiXFxuXCIgJiYgcGF5bG9hZFswXSAhPT0gMHhhICYmIG5lZWROZXdsaW5lKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdHVhbFdyaXRlLmNhbGwoc3RyZWFtLCBcIlxcblwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGFzdFN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFwYXlsb2FkLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBSZXF1aXJlIGEgbmV3bGluZSBmb3Igc3RhdHVzIHVwZGF0ZXMgYW55IHRpbWUgdGhlIGN1cnNvciBkb2VzIG5vdCBlbmQgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmVcbiAgICAgICAgICAgIHN3aXRjaCAocGF5bG9hZFtwYXlsb2FkLmxlbmd0aCAtIDFdKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBcIlxcblwiOlxuICAgICAgICAgICAgICAgIGNhc2UgMHhhOlxuICAgICAgICAgICAgICAgIGNhc2UgXCJcXHJcIjpcbiAgICAgICAgICAgICAgICBjYXNlIDB4ZDpcbiAgICAgICAgICAgICAgICAgICAgbmVlZE5ld2xpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBuZWVkTmV3bGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobmVlZHNDbGVhcikge1xuICAgICAgICAgICAgICAgIGFjdHVhbFdyaXRlLmNhbGwoc3RyZWFtLCBzY3JlZW4uZXJhc2UudG9Fb2wpO1xuICAgICAgICAgICAgICAgIG5lZWRzQ2xlYXIgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGFjdHVhbFdyaXRlLmNhbGwoc3RyZWFtLCBwYXlsb2FkLCAuLi5wYXJhbXMpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGludGVyY2VwdChzdGRvdXQpO1xuICAgIGludGVyY2VwdChzdGRlcnIpO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIHdyaXRlU3RhdHVzKHRleHQ6IHN0cmluZywgd2lsbE92ZXJ3cml0ZSA9IGZhbHNlKSB7XG4gICAgICAgIHRleHQgKz0gd2lsbE92ZXJ3cml0ZSA/IGAke3NjcmVlbi5lcmFzZS50b0VvbH1cXHJgIDogYCR7c2NyZWVuLmVyYXNlLnRvRW9sfVxcbmA7XG4gICAgICAgIGlmICh0ZXh0ID09PSBsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzdGQub3V0LnN0YXRlKHsgYnVmZmVyOiB0cnVlIH0sICgpID0+IHtcbiAgICAgICAgICAgIGlmIChsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgbGFzdFN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmVlZE5ld2xpbmUgJiYgIXRleHQuc3RhcnRzV2l0aChcIlxcblwiKSkge1xuICAgICAgICAgICAgICAgIHN0ZC5vdXQoXCJcXG5cIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0ZC5vdXQud3JpdGVUcnVuY2F0ZWQodGV4dCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxhc3RTdGF0dXMgPSB0ZXh0O1xuICAgICAgICBuZWVkc0NsZWFyID0gd2lsbE92ZXJ3cml0ZTtcbiAgICB9O1xufSkoKTtcblxuZXhwb3J0IGNsYXNzIFByb2dyZXNzIHtcbiAgICBzdGF0dXMgPSBQcm9ncmVzcy5TdGF0dXMuU3RhcnR1cDtcbiAgICAjb25nb2luZz86IHsgdGV4dDogc3RyaW5nOyBleHRyYT86IHN0cmluZyB9O1xuICAgICNzdGFydD86IG51bWJlcjtcbiAgICAjc3Bpbm5lciA9IFwiXHUyOUQ3XCI7XG4gICAgI3JlZnJlc2hJbnRlcnZhbD86IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPjtcbiAgICAjc3Bpbm5lclBvc2l0aW9uID0gMDtcbiAgICAjc3Bpbm5lcldpbmRvdz86IG51bWJlcjtcbiAgICAjc3VidGFza3MgPSBBcnJheTxzdHJpbmc+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBlbXBoYXNpemUodGV4dDogdW5rbm93bikge1xuICAgICAgICByZXR1cm4gYW5zaS5ib2xkKGAke3RleHR9YCk7XG4gICAgfVxuXG4gICAgZGVlbXBoYXNpemUodGV4dDogdW5rbm93bikge1xuICAgICAgICByZXR1cm4gYW5zaS5kaW0oYCR7dGV4dH1gKTtcbiAgICB9XG5cbiAgICBza2lwKHdoeTogc3RyaW5nLCBwa2c6IFBhY2thZ2UpIHtcbiAgICAgICAgc3RkLm91dC53cml0ZShhbnNpLmRpbShgU2tpcCAke3BhY2thZ2VJZGVudGl0eShwa2cpfTogJHt3aHl9XFxuXFxuYCkpO1xuICAgIH1cblxuICAgIHN0YXJ0dXAod2hhdDogc3RyaW5nLCBwa2dPck92ZXJ3cml0ZT86IFBhY2thZ2UgfCBib29sZWFuKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLnN0ZG91dC5pc1RUWSkge1xuICAgICAgICAgICAgdGhpcy4jdXBkYXRlU3Bpbm5lcigpO1xuICAgICAgICAgICAgdGhpcy4jcmVmcmVzaEludGVydmFsID0gc2V0SW50ZXJ2YWwodGhpcy5yZWZyZXNoLmJpbmQodGhpcyksIFNQSU5ORVJfSU5URVJWQUwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdGF0dXMgPSBQcm9ncmVzcy5TdGF0dXMuU3RhcnR1cDtcbiAgICAgICAgaWYgKHBrZ09yT3ZlcndyaXRlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHBrZ09yT3ZlcndyaXRlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICAgICAgd3JpdGVTdGF0dXMod2hhdCwgcGtnT3JPdmVyd3JpdGUgPz8gdHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3cml0ZVN0YXR1cyhgJHt3aGF0fSAke3BhY2thZ2VJZGVudGl0eShwa2dPck92ZXJ3cml0ZSl9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGUodGV4dDogc3RyaW5nLCBleHRyYT86IHN0cmluZykge1xuICAgICAgICB0aGlzLnN0YXR1cyA9IFByb2dyZXNzLlN0YXR1cy5PbmdvaW5nO1xuICAgICAgICBpZiAodGhpcy4jc3RhcnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy4jc3RhcnQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgfVxuICAgICAgICBleHRyYSA9IGV4dHJhID09PSB1bmRlZmluZWQgPyBcIlwiIDogYCAke2V4dHJhfWA7XG4gICAgICAgIHRoaXMuI29uZ29pbmcgPSB7IHRleHQsIGV4dHJhIH07XG4gICAgICAgIHRoaXMuI3dyaXRlT25nb2luZygpO1xuICAgIH1cblxuICAgICN3cml0ZU9uZ29pbmcoKSB7XG4gICAgICAgIGlmICghdGhpcy4jb25nb2luZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXh0cmEgPSB0aGlzLiNvbmdvaW5nLmV4dHJhID8gYCAke3RoaXMuI29uZ29pbmcuZXh0cmF9YCA6IFwiXCI7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgJHt0aGlzLiNvbmdvaW5nLnRleHR9ICR7dGhpcy4jZHVyYXRpb259JHtleHRyYX1gO1xuXG4gICAgICAgIGNvbnN0IHN1YnRhc2sgPSB0aGlzLiNzdWJ0YXNrcy5sZW5ndGggPyBhbnNpLmRpbShgICgke3RoaXMuI3N1YnRhc2tzW3RoaXMuI3N1YnRhc2tzLmxlbmd0aCAtIDFdfSlgKSA6IFwiXCI7XG5cbiAgICAgICAgd3JpdGVTdGF0dXMoYCAgJHthbnNpLnllbGxvdyh0aGlzLiNzcGlubmVyKX0gJHttZXNzYWdlfSR7c3VidGFza31gLCB0cnVlKTtcbiAgICB9XG5cbiAgICBzdWNjZXNzKHRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnN0YXR1cyA9IFByb2dyZXNzLlN0YXR1cy5TdWNjZXNzO1xuICAgICAgICB3cml0ZVN0YXR1cyhgICAke1NUQVRVU19JQ09OX1NVQ0NFU1N9ICR7dGV4dH0gJHt0aGlzLiNkdXJhdGlvbn1gKTtcbiAgICAgICAgdGhpcy4jc3RhcnQgPSB0aGlzLiNvbmdvaW5nID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGZhaWx1cmUodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLkZhaWx1cmU7XG4gICAgICAgIHdyaXRlU3RhdHVzKGAgICR7U1RBVFVTX0lDT05fRkFJTFVSRX0gJHt0ZXh0fSAke3RoaXMuI2R1cmF0aW9ufWApO1xuICAgICAgICB0aGlzLiNzdGFydCA9IHRoaXMuI29uZ29pbmcgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaW5mbyhsYWJlbDogc3RyaW5nLCB2YWx1ZT86IGFueSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGxhYmVsID0gYCR7YW5zaS5kaW0obGFiZWwpfSAke3ZhbHVlfWA7XG4gICAgICAgIH1cbiAgICAgICAgd3JpdGVTdGF0dXMoYCAgJHthbnNpLmRpbShcIlx1MjAyM1wiKX0gJHtsYWJlbH1gKTtcbiAgICB9XG5cbiAgICB3YXJuKHRleHQ6IHN0cmluZykge1xuICAgICAgICBzdGQub3V0LndyaXRlKGAgICAgJHthbnNpLnllbGxvdyhcIldhcm5pbmc6XCIpfSAke3RleHR9XFxuYCk7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICh0aGlzLiNyZWZyZXNoSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy4jcmVmcmVzaEludGVydmFsKTtcbiAgICAgICAgICAgIHRoaXMuI3JlZnJlc2hJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB3cml0ZVN0YXR1cyhcIlwiKTtcbiAgICB9XG5cbiAgICBbU3ltYm9sLmRpc3Bvc2VdKCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcmVmcmVzaCgpIHtcbiAgICAgICAgaWYgKHRoaXMuI3VwZGF0ZVNwaW5uZXIoKSkge1xuICAgICAgICAgICAgdGhpcy4jd3JpdGVPbmdvaW5nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBzdWJ0YXNrKHRleHQ6IHN0cmluZywgZm46ICgpID0+IFByb21pc2U8dm9pZD4pIHtcbiAgICAgICAgdGhpcy4jc3VidGFza3MucHVzaCh0ZXh0KTtcbiAgICAgICAgdGhpcy4jd3JpdGVPbmdvaW5nKCk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IGZuKCk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLiNzdWJ0YXNrcy5wb3AoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN1cGRhdGVTcGlubmVyKCkge1xuICAgICAgICBpZiAoIXN0ZG91dC5pc1RUWSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgd2luZG93ID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIFNQSU5ORVJfSU5URVJWQUwpO1xuICAgICAgICBpZiAodGhpcy4jc3Bpbm5lcldpbmRvdyA9PT0gd2luZG93KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy4jc3Bpbm5lcldpbmRvdyA9IHdpbmRvdztcblxuICAgICAgICB0aGlzLiNzcGlubmVyUG9zaXRpb24gPSAodGhpcy4jc3Bpbm5lclBvc2l0aW9uICsgMSkgJSBTUElOTkVSLmxlbmd0aDtcbiAgICAgICAgdGhpcy4jc3Bpbm5lciA9IFNQSU5ORVJbdGhpcy4jc3Bpbm5lclBvc2l0aW9uXTtcblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBhc3luYyBydW48VD4od2hhdDogc3RyaW5nLCBmbjogKCkgPT4gVCB8IFByb21pc2U8VD4pIHtcbiAgICAgICAgdGhpcy51cGRhdGUod2hhdCk7XG4gICAgICAgIGxldCByZXN1bHQ6IFQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXN1bHQgPSBhd2FpdCBmbigpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLmZhaWx1cmUod2hhdCk7XG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3VjY2Vzcyh3aGF0KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBnZXQgI2R1cmF0aW9uKCkge1xuICAgICAgICBjb25zdCBkdXJhdGlvbiA9IHRoaXMuI3N0YXJ0ID8gbmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLiNzdGFydCA6IDA7XG4gICAgICAgIHJldHVybiBQcm9ncmVzcy5mb3JtYXREdXJhdGlvbihkdXJhdGlvbik7XG4gICAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFByb2dyZXNzIHtcbiAgICBleHBvcnQgZW51bSBTdGF0dXMge1xuICAgICAgICBTdGFydHVwID0gXCJzdGFydHVwXCIsXG4gICAgICAgIE9uZ29pbmcgPSBcIm9uZ29pbmdcIixcbiAgICAgICAgU3VjY2VzcyA9IFwic3VjY2Vzc1wiLFxuICAgICAgICBGYWlsdXJlID0gXCJmYWlsdXJlXCIsXG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdER1cmF0aW9uKGR1cmF0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgZHVyYXRpb24gLz0gMTAwMDtcbiAgICAgICAgbGV0IHRpbWU7XG4gICAgICAgIGlmIChkdXJhdGlvbiA8IDEwKSB7XG4gICAgICAgICAgICB0aW1lID0gZHVyYXRpb24udG9QcmVjaXNpb24oMik7XG4gICAgICAgICAgICBpZiAodGltZS5zdGFydHNXaXRoKFwiMC5cIikpIHtcbiAgICAgICAgICAgICAgICB0aW1lID0gdGltZS5zbGljZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aW1lLmVuZHNXaXRoKFwiLlwiKSkge1xuICAgICAgICAgICAgICAgIGlmICh0aW1lLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICB0aW1lID0gXCIwXCI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZSA9IHRpbWUuc2xpY2UoMCwgdGltZS5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aW1lICs9IFwic1wiO1xuICAgICAgICB9IGVsc2UgaWYgKGR1cmF0aW9uIDwgNjApIHtcbiAgICAgICAgICAgIHRpbWUgPSBgJHtNYXRoLnRydW5jKGR1cmF0aW9uKX1zYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRpbWUgPSBgJHtNYXRoLnRydW5jKGR1cmF0aW9uIC8gNjApfW0gJHtNYXRoLnRydW5jKGR1cmF0aW9uKSAlIDYwfXNgO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHthbnNpLmRpbS55ZWxsb3d9KCR7dGltZX0pJHthbnNpLm5vdC5kaW0ubm90LnllbGxvd31gO1xuICAgIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxTQUFTLFFBQVEsY0FBYztBQUMvQixTQUFTLGNBQWM7QUFDdkIsU0FBUyxXQUFXO0FBQ3BCLFNBQVMsWUFBWTtBQUdkLE1BQU0sc0JBQXNCLEtBQUssTUFBTSxRQUFHO0FBQzFDLE1BQU0sc0JBQXNCLEtBQUssT0FBTyxJQUFJLFFBQUc7QUFDL0MsTUFBTSxzQkFBc0IsS0FBSyxJQUFJLE1BQU0sUUFBRztBQUVyRCxNQUFNLFVBQVU7QUFDaEIsTUFBTSxtQkFBbUI7QUFFekIsU0FBUyxnQkFBZ0IsS0FBYztBQUNuQyxNQUFJLFdBQVcsS0FBSyxLQUFLLElBQUksSUFBSSxFQUFFLFNBQVM7QUFDNUMsTUFBSSxJQUFJLEtBQUssU0FBUztBQUNsQixlQUFXLEdBQUcsUUFBUSxJQUFJLElBQUksS0FBSyxPQUFPO0FBQUEsRUFDOUM7QUFDQSxTQUFPO0FBQ1g7QUFLQSxNQUFNLGVBQWUsTUFBTTtBQUN2QixNQUFJO0FBQ0osTUFBSSxjQUFjO0FBQ2xCLE1BQUksYUFBYTtBQUVqQixXQUFTLFVBQVUsUUFBNEI7QUFDM0MsVUFBTSxjQUFjLE9BQU87QUFDM0IsV0FBTyxRQUFRLENBQUMsWUFBaUMsV0FBa0I7QUFDL0QsVUFBSSxZQUFZO0FBQ1osWUFBSSxRQUFRLENBQUMs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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/progress.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["writeStatus", "Progress", "Status"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/tools",
|
|
3
|
-
"version": "0.15.2-alpha.0-
|
|
3
|
+
"version": "0.15.2-alpha.0-20250708-b8eb61a5e",
|
|
4
4
|
"description": "Matter.js tooling",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@types/madge": "^5.0.3",
|
|
76
76
|
"@types/minimatch": "^5.1.2",
|
|
77
|
-
"@types/node": "^24.0.
|
|
77
|
+
"@types/node": "^24.0.10",
|
|
78
78
|
"detective-typescript": "^14.0.0"
|
|
79
79
|
},
|
|
80
80
|
"publishConfig": {
|
package/src/building/cycles.ts
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
const MAX_CYCLES = 1000;
|
|
8
|
+
|
|
7
9
|
import { readFile } from "node:fs/promises";
|
|
8
10
|
import { Package } from "../util/package.js";
|
|
9
11
|
import { Progress } from "../util/progress.js";
|
|
@@ -35,6 +37,9 @@ async function identifyCycles(pkg: Package, progress: Progress) {
|
|
|
35
37
|
const cycles = [] as string[][];
|
|
36
38
|
for (const filename in deps) {
|
|
37
39
|
visit(filename, []);
|
|
40
|
+
if (cycles.length === MAX_CYCLES) {
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
38
43
|
}
|
|
39
44
|
|
|
40
45
|
function visit(filename: string, breadcrumb: string[]) {
|
|
@@ -74,6 +79,9 @@ async function identifyCycles(pkg: Package, progress: Progress) {
|
|
|
74
79
|
breadcrumb = [...breadcrumb, filename];
|
|
75
80
|
for (const dep of fileDeps) {
|
|
76
81
|
visit(dep, breadcrumb);
|
|
82
|
+
if (cycles.length > MAX_CYCLES) {
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
77
85
|
}
|
|
78
86
|
}
|
|
79
87
|
|
|
@@ -86,6 +94,9 @@ function printCycles(pkg: Package, cycles: string[][]) {
|
|
|
86
94
|
for (const cycle of cycles) {
|
|
87
95
|
std.out(" ", cycle.map(name => ansi.bright.blue(relative(src, name))).join(" → "), " ↩\n");
|
|
88
96
|
}
|
|
97
|
+
if (cycles.length >= MAX_CYCLES) {
|
|
98
|
+
std.out(`\n${ansi.red(`Stopping search after max ${MAX_CYCLES} cycles`)}\n`);
|
|
99
|
+
}
|
|
89
100
|
}
|
|
90
101
|
|
|
91
102
|
function resolveDeps(pkg: Package, sourceFilename: string, deps: string[]) {
|
package/src/util/progress.ts
CHANGED