@fynpo/base 1.1.12 → 1.1.15
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/caching.d.ts +26 -6
- package/dist/caching.js +52 -26
- package/dist/caching.js.map +1 -1
- package/dist/fynpo-dep-graph.d.ts +2 -0
- package/dist/fynpo-dep-graph.js +22 -11
- package/dist/fynpo-dep-graph.js.map +1 -1
- package/dist/minimatch-group.d.ts +26 -0
- package/dist/minimatch-group.js +74 -1
- package/dist/minimatch-group.js.map +1 -1
- package/package.json +1 -1
package/dist/caching.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import Crypto from "crypto";
|
|
1
3
|
/**
|
|
2
4
|
*
|
|
3
5
|
*/
|
|
@@ -16,7 +18,17 @@ declare type FilesFilterPatterns = {
|
|
|
16
18
|
/**
|
|
17
19
|
*
|
|
18
20
|
*/
|
|
19
|
-
declare type
|
|
21
|
+
declare type CacheBaseRule = {
|
|
22
|
+
/**
|
|
23
|
+
* minimatch options to be passed directly to minimatch
|
|
24
|
+
* Default: `{ dot: true }`
|
|
25
|
+
*/
|
|
26
|
+
minimatchOptions?: any;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
declare type CacheInputRule = FilesFilterPatterns & CacheBaseRule & {
|
|
20
32
|
/** npm scripts to include as the input */
|
|
21
33
|
npmScripts?: string | string[];
|
|
22
34
|
/** env variables to include as the input */
|
|
@@ -27,16 +39,23 @@ declare type CacheInput = FilesFilterPatterns & {
|
|
|
27
39
|
/**
|
|
28
40
|
*
|
|
29
41
|
*/
|
|
30
|
-
declare type
|
|
42
|
+
declare type CacheOutputRule = FilesFilterPatterns & CacheBaseRule & {
|
|
31
43
|
/**
|
|
32
44
|
* use npm pack to create a list of files to include.
|
|
33
45
|
* will check them against the exclude patterns and ignore any that match
|
|
34
46
|
*/
|
|
35
47
|
filesFromNpmPack?: boolean;
|
|
36
48
|
};
|
|
49
|
+
export declare const readHashDigest: (hash: Crypto.Hash, encoding?: BufferEncoding) => any;
|
|
50
|
+
/**
|
|
51
|
+
* process caching input rules and return result from it
|
|
52
|
+
*
|
|
53
|
+
* @param param0
|
|
54
|
+
* @returns result from processing input rules
|
|
55
|
+
*/
|
|
37
56
|
export declare function processInput({ cwd, input, packageJson, extra, }?: {
|
|
38
57
|
cwd?: string;
|
|
39
|
-
input:
|
|
58
|
+
input: CacheInputRule;
|
|
40
59
|
packageJson?: Record<string, string | unknown>;
|
|
41
60
|
extra?: any;
|
|
42
61
|
}): Promise<{
|
|
@@ -51,17 +70,18 @@ export declare function processInput({ cwd, input, packageJson, extra, }?: {
|
|
|
51
70
|
hash: string;
|
|
52
71
|
}>;
|
|
53
72
|
/**
|
|
73
|
+
* process lifecycle caching input rules
|
|
54
74
|
*
|
|
55
75
|
* @param param0
|
|
56
76
|
* @returns
|
|
57
77
|
*/
|
|
58
78
|
export declare function processLifecycleInput({ cwd, input, packageJson, }?: {
|
|
59
79
|
cwd?: string;
|
|
60
|
-
input:
|
|
80
|
+
input: CacheInputRule;
|
|
61
81
|
packageJson?: Record<string, string | unknown>;
|
|
62
82
|
}): Promise<{}>;
|
|
63
83
|
/**
|
|
64
|
-
* Process build cache output
|
|
84
|
+
* Process build cache output rules.
|
|
65
85
|
*
|
|
66
86
|
* @param param0
|
|
67
87
|
* @returns
|
|
@@ -74,7 +94,7 @@ export declare function processOutput({ cwd, inputHash, calcHash, output, preFil
|
|
|
74
94
|
/** Should we calculate hash for the output files? */
|
|
75
95
|
calcHash?: boolean;
|
|
76
96
|
/** output config */
|
|
77
|
-
output:
|
|
97
|
+
output: CacheOutputRule;
|
|
78
98
|
/** list of pre-determined files, will be filtered with output.exclude */
|
|
79
99
|
preFiles?: string[];
|
|
80
100
|
}): Promise<{
|
package/dist/caching.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.processOutput = exports.processLifecycleInput = exports.processInput = void 0;
|
|
3
|
+
exports.processOutput = exports.processLifecycleInput = exports.processInput = exports.readHashDigest = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const filter_scan_dir_1 = require("filter-scan-dir");
|
|
6
6
|
const minimatch_1 = (0, tslib_1.__importDefault)(require("minimatch"));
|
|
@@ -8,6 +8,7 @@ const lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
|
|
|
8
8
|
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
|
|
9
9
|
const path_1 = (0, tslib_1.__importDefault)(require("path"));
|
|
10
10
|
const crypto_1 = (0, tslib_1.__importDefault)(require("crypto"));
|
|
11
|
+
const minimatch_group_1 = require("./minimatch-group");
|
|
11
12
|
/**
|
|
12
13
|
* create a sha256 hash for some data
|
|
13
14
|
*
|
|
@@ -17,13 +18,33 @@ const crypto_1 = (0, tslib_1.__importDefault)(require("crypto"));
|
|
|
17
18
|
function hashData1(data, encoding = "base64url") {
|
|
18
19
|
return crypto_1.default.createHash("sha256").update(data).digest(encoding);
|
|
19
20
|
}
|
|
21
|
+
function makeBase64Url(hash) {
|
|
22
|
+
return hash.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
23
|
+
}
|
|
20
24
|
function hashData2(data, encoding = "base64url") {
|
|
21
25
|
if (encoding === "base64url") {
|
|
22
|
-
return hashData1(data, "base64")
|
|
26
|
+
return makeBase64Url(hashData1(data, "base64"));
|
|
23
27
|
}
|
|
24
28
|
return hashData1(data, encoding);
|
|
25
29
|
}
|
|
26
|
-
const
|
|
30
|
+
const hasBase64Url = typeof crypto_1.default.createHash("sha256").digest("base64url") === "string";
|
|
31
|
+
const hashData = hasBase64Url ? hashData1 : hashData2;
|
|
32
|
+
exports.readHashDigest = hasBase64Url
|
|
33
|
+
? (hash, encoding = "base64url") => {
|
|
34
|
+
hash.setEncoding(encoding);
|
|
35
|
+
hash.end();
|
|
36
|
+
return hash.read();
|
|
37
|
+
}
|
|
38
|
+
: (hash, encoding = "base64url") => {
|
|
39
|
+
if (encoding === "base64url") {
|
|
40
|
+
hash.setEncoding("base64");
|
|
41
|
+
hash.end();
|
|
42
|
+
return makeBase64Url(hash.read());
|
|
43
|
+
}
|
|
44
|
+
hash.setEncoding(encoding);
|
|
45
|
+
hash.end();
|
|
46
|
+
return hash.read();
|
|
47
|
+
};
|
|
27
48
|
/**
|
|
28
49
|
* generate sha256 has of a file
|
|
29
50
|
*
|
|
@@ -74,15 +95,6 @@ function makeMmPatterns(patterns, options = { dot: true }) {
|
|
|
74
95
|
.map((x) => x && new minimatch_1.default.Minimatch(x, options))
|
|
75
96
|
.filter((x) => x);
|
|
76
97
|
}
|
|
77
|
-
/**
|
|
78
|
-
*
|
|
79
|
-
* @param fullPath
|
|
80
|
-
* @param patterns
|
|
81
|
-
* @returns
|
|
82
|
-
*/
|
|
83
|
-
function checkMmMatch(fullPath, patterns) {
|
|
84
|
-
return !lodash_1.default.isEmpty(patterns) && patterns.find((patternMm) => patternMm.match(fullPath));
|
|
85
|
-
}
|
|
86
98
|
/**
|
|
87
99
|
* Scan for files using include and exclude patterns
|
|
88
100
|
*
|
|
@@ -92,21 +104,39 @@ function checkMmMatch(fullPath, patterns) {
|
|
|
92
104
|
*/
|
|
93
105
|
async function scanFiles(cwd, includes, excludes) {
|
|
94
106
|
const filter = (_file, _path, extras) => {
|
|
95
|
-
if (!checkMmMatch(extras.dirFile, includes) || checkMmMatch(extras.dirFile, excludes)) {
|
|
107
|
+
if (!(0, minimatch_group_1.checkMmMatch)(extras.dirFile, includes) || (0, minimatch_group_1.checkMmMatch)(extras.dirFile, excludes)) {
|
|
96
108
|
return false;
|
|
97
109
|
}
|
|
98
110
|
return true;
|
|
99
111
|
};
|
|
112
|
+
const dirIncludes = includes.map((mx) => (0, minimatch_group_1.deconstructMM)(mx));
|
|
113
|
+
const filterDir = (_file, _path, extras) => {
|
|
114
|
+
const dir = `${extras.dirFile}/`; // add extra / to force matching directory
|
|
115
|
+
const inc = dirIncludes.find((di) => (0, minimatch_group_1.checkMmMatch)(dir, di.mms));
|
|
116
|
+
if (inc) {
|
|
117
|
+
const exc = (0, minimatch_group_1.checkMmMatch)(dir, excludes);
|
|
118
|
+
if (!exc) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return false;
|
|
123
|
+
};
|
|
100
124
|
return (await (0, filter_scan_dir_1.filterScanDir)({
|
|
101
125
|
cwd,
|
|
102
126
|
filter,
|
|
103
|
-
filterDir
|
|
127
|
+
filterDir,
|
|
104
128
|
fullStat: false,
|
|
105
129
|
concurrency: 500,
|
|
106
130
|
})).sort();
|
|
107
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* process caching input rules and return result from it
|
|
134
|
+
*
|
|
135
|
+
* @param param0
|
|
136
|
+
* @returns result from processing input rules
|
|
137
|
+
*/
|
|
108
138
|
async function processInput({ cwd, input, packageJson, extra, } = { input: {} }) {
|
|
109
|
-
const files = await scanFiles(cwd, makeMmPatterns(input.include), makeMmPatterns(input.exclude));
|
|
139
|
+
const files = await scanFiles(cwd, makeMmPatterns(input.include, input.minimatchOptions), makeMmPatterns(input.exclude, input.minimatchOptions));
|
|
110
140
|
const fileHashes = await hashFiles(cwd, files);
|
|
111
141
|
const data = {
|
|
112
142
|
env: lodash_1.default.pick(process.env, input.includeEnv),
|
|
@@ -120,6 +150,7 @@ async function processInput({ cwd, input, packageJson, extra, } = { input: {} })
|
|
|
120
150
|
}
|
|
121
151
|
exports.processInput = processInput;
|
|
122
152
|
/**
|
|
153
|
+
* process lifecycle caching input rules
|
|
123
154
|
*
|
|
124
155
|
* @param param0
|
|
125
156
|
* @returns
|
|
@@ -134,19 +165,19 @@ async function processLifecycleInput({ cwd, input, packageJson, } = { input: {}
|
|
|
134
165
|
}
|
|
135
166
|
exports.processLifecycleInput = processLifecycleInput;
|
|
136
167
|
/**
|
|
137
|
-
* Process build cache output
|
|
168
|
+
* Process build cache output rules.
|
|
138
169
|
*
|
|
139
170
|
* @param param0
|
|
140
171
|
* @returns
|
|
141
172
|
*/
|
|
142
173
|
async function processOutput({ cwd, inputHash, calcHash, output, preFiles, } = { output: {} }) {
|
|
143
|
-
const mmIncludes = makeMmPatterns(output.include);
|
|
144
|
-
const mmExcludes = makeMmPatterns(output.exclude);
|
|
174
|
+
const mmIncludes = makeMmPatterns(output.include, output.minimatchOptions);
|
|
175
|
+
const mmExcludes = makeMmPatterns(output.exclude, output.minimatchOptions);
|
|
145
176
|
const files = await scanFiles(cwd, mmIncludes, mmExcludes);
|
|
146
177
|
preFiles = []
|
|
147
178
|
.concat(preFiles)
|
|
148
179
|
.filter((x) => {
|
|
149
|
-
if (!x ||
|
|
180
|
+
if (!x || (0, minimatch_group_1.unrollMmMatch)(x, mmExcludes)) {
|
|
150
181
|
return false;
|
|
151
182
|
}
|
|
152
183
|
return true;
|
|
@@ -163,13 +194,8 @@ async function processOutput({ cwd, inputHash, calcHash, output, preFiles, } = {
|
|
|
163
194
|
hash = hashData(JSON.stringify(data));
|
|
164
195
|
}
|
|
165
196
|
//
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
data,
|
|
169
|
-
hash,
|
|
170
|
-
access: Date.now(),
|
|
171
|
-
create: Date.now(),
|
|
172
|
-
};
|
|
197
|
+
const now = Date.now();
|
|
198
|
+
return { files: allFiles, data, hash, access: now, create: now };
|
|
173
199
|
}
|
|
174
200
|
exports.processOutput = processOutput;
|
|
175
201
|
//# sourceMappingURL=caching.js.map
|
package/dist/caching.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caching.js","sourceRoot":"","sources":["../src/caching.ts"],"names":[],"mappings":";;;;AAAA,qDAA4D;AAC5D,uEAA2B;AAC3B,iEAAuB;AACvB,yDAAoB;AACpB,6DAAwB;AACxB,iEAA4B;
|
|
1
|
+
{"version":3,"file":"caching.js","sourceRoot":"","sources":["../src/caching.ts"],"names":[],"mappings":"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"}
|
|
@@ -200,6 +200,7 @@ export declare class FynpoDepGraph {
|
|
|
200
200
|
resolve(): Promise<void>;
|
|
201
201
|
/**
|
|
202
202
|
* update package depdencies map
|
|
203
|
+
*
|
|
203
204
|
* - re-entrant safe
|
|
204
205
|
*/
|
|
205
206
|
updateDepMap(): void;
|
|
@@ -321,6 +322,7 @@ export declare class FynpoDepGraph {
|
|
|
321
322
|
/**
|
|
322
323
|
* Figure out all the packages' indirect dependencies on other local packages
|
|
323
324
|
*
|
|
325
|
+
* TODO: very inefficient. optimize this.
|
|
324
326
|
*/
|
|
325
327
|
private resolveIndirectDeps;
|
|
326
328
|
}
|
package/dist/fynpo-dep-graph.js
CHANGED
|
@@ -161,12 +161,12 @@ exports.pkgInfoId = pkgInfoId;
|
|
|
161
161
|
class FynpoDepGraph {
|
|
162
162
|
constructor(options = {}) {
|
|
163
163
|
this._options = { cwd: process.cwd(), ...options };
|
|
164
|
-
this.depMapByPath =
|
|
165
|
-
this.resolvedCache =
|
|
164
|
+
this.depMapByPath = Object.create(null);
|
|
165
|
+
this.resolvedCache = Object.create(null);
|
|
166
166
|
this.packages = {
|
|
167
|
-
byId:
|
|
168
|
-
byName:
|
|
169
|
-
byPath:
|
|
167
|
+
byId: Object.create(null),
|
|
168
|
+
byName: Object.create(null),
|
|
169
|
+
byPath: Object.create(null),
|
|
170
170
|
};
|
|
171
171
|
}
|
|
172
172
|
/**
|
|
@@ -176,10 +176,14 @@ class FynpoDepGraph {
|
|
|
176
176
|
if (lodash_1.default.isEmpty(this.packages.byName)) {
|
|
177
177
|
await this.readPackages();
|
|
178
178
|
}
|
|
179
|
-
this.
|
|
179
|
+
this.resolveDirectDeps();
|
|
180
|
+
// we don't need indirect deps
|
|
181
|
+
// topo sort works with only direct deps
|
|
182
|
+
// this.resolveIndirectDeps();
|
|
180
183
|
}
|
|
181
184
|
/**
|
|
182
185
|
* update package depdencies map
|
|
186
|
+
*
|
|
183
187
|
* - re-entrant safe
|
|
184
188
|
*/
|
|
185
189
|
updateDepMap() {
|
|
@@ -194,6 +198,9 @@ class FynpoDepGraph {
|
|
|
194
198
|
getTopoSortPackagePaths() {
|
|
195
199
|
const depRecords = {};
|
|
196
200
|
const changed = [];
|
|
201
|
+
//
|
|
202
|
+
// first start with packages that has zero local dependencies
|
|
203
|
+
//
|
|
197
204
|
for (const path in this.depMapByPath) {
|
|
198
205
|
const depData = this.depMapByPath[path];
|
|
199
206
|
const count = Object.keys(depData.localDepsByPath).length;
|
|
@@ -208,11 +215,14 @@ class FynpoDepGraph {
|
|
|
208
215
|
}
|
|
209
216
|
const sorted = [];
|
|
210
217
|
while (changed.length > 0) {
|
|
218
|
+
// remove the zero local dependencies packages from queue
|
|
211
219
|
const record = depRecords[changed.pop()];
|
|
212
220
|
/* istanbul ignore else */
|
|
213
221
|
if (record.count === 0) {
|
|
222
|
+
// add package to result
|
|
214
223
|
record.count = -1;
|
|
215
224
|
sorted.push(record.depData.pkgInfo.path);
|
|
225
|
+
// subtract depdendencies count for all packages depending on the removed package
|
|
216
226
|
for (const path in record.depData.dependentsByPath) {
|
|
217
227
|
const record2 = depRecords[path];
|
|
218
228
|
/* istanbul ignore else */
|
|
@@ -363,7 +373,7 @@ class FynpoDepGraph {
|
|
|
363
373
|
pkgJson: { enumerable: false },
|
|
364
374
|
});
|
|
365
375
|
const { byName } = this.packages;
|
|
366
|
-
if (byName
|
|
376
|
+
if (byName[pkgJson.name]) {
|
|
367
377
|
byName[pkgJson.name].push(pkgInfo);
|
|
368
378
|
}
|
|
369
379
|
else {
|
|
@@ -435,8 +445,8 @@ class FynpoDepGraph {
|
|
|
435
445
|
if (!depMapByPath[path]) {
|
|
436
446
|
depMapByPath[path] = {
|
|
437
447
|
pkgInfo: byPath[path],
|
|
438
|
-
localDepsByPath:
|
|
439
|
-
dependentsByPath:
|
|
448
|
+
localDepsByPath: Object.create(null),
|
|
449
|
+
dependentsByPath: Object.create(null),
|
|
440
450
|
};
|
|
441
451
|
}
|
|
442
452
|
}
|
|
@@ -489,7 +499,7 @@ class FynpoDepGraph {
|
|
|
489
499
|
const dataPkg = this.depMapByPath[pkgInfo.path];
|
|
490
500
|
const dataDep = this.depMapByPath[depPkg.path];
|
|
491
501
|
// check circular
|
|
492
|
-
if (dataDep.localDepsByPath
|
|
502
|
+
if (dataDep.localDepsByPath[pkgInfo.path]) {
|
|
493
503
|
// remember circular package's path
|
|
494
504
|
if (!dataPkg.pathOfCirculars) {
|
|
495
505
|
dataPkg.pathOfCirculars = [];
|
|
@@ -567,6 +577,7 @@ class FynpoDepGraph {
|
|
|
567
577
|
/**
|
|
568
578
|
* Figure out all the packages' indirect dependencies on other local packages
|
|
569
579
|
*
|
|
580
|
+
* TODO: very inefficient. optimize this.
|
|
570
581
|
*/
|
|
571
582
|
resolveIndirectDeps(nestedLevel = 0) {
|
|
572
583
|
const { byPath } = this.packages;
|
|
@@ -588,7 +599,7 @@ class FynpoDepGraph {
|
|
|
588
599
|
stepsCopy[0] = `${stepsCopy[0]}(${depRef.depSection})`;
|
|
589
600
|
}
|
|
590
601
|
// check if pkg is already part of localDeps
|
|
591
|
-
if (!dataPkg.localDepsByPath
|
|
602
|
+
if (!dataPkg.localDepsByPath[depInfo.path]) {
|
|
592
603
|
change++;
|
|
593
604
|
this.addDep(pkgInfo, depInfo, sec, stepsCopy);
|
|
594
605
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fynpo-dep-graph.js","sourceRoot":"","sources":["../src/fynpo-dep-graph.ts"],"names":[],"mappings":";;;;AAAA,iEAA4B;AAC5B,6DAAwB;AACxB,2BAAoC;AACpC,qDAAgD;AAChD,uEAA2B;AAC3B,iEAAuB;AACvB,iEAA4B;AAC5B,uDAAsD;AACtD,iCAAkC;AAClC,iFAA0C;AA+B1C,MAAM,aAAa,GAAG;IACpB,YAAY,EAAE,KAAK;IACnB,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,KAAK;IAC3B,gBAAgB,EAAE,MAAM;IACxB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACb,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,QAAgB;IAC5C,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;AAC1C,CAAC;AAFD,sCAEC;AAED;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,IAAY,EAAE,OAAe,EAAE,GAAW;IACpE,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;AAC3C,CAAC;AAFD,kCAEC;AAOD;;;;GAIG;AACH,MAAa,UAAU;IAYrB,YAAY,GAAW;QACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,GAAW;QAClB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,EAAE;gBACpD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;aACjB;iBAAM;gBACL,MAAM,IAAI,KAAK,CACb,gBAAgB,GAAG,uBAAuB,GAAG,qCAAqC,CACnF,CAAC;aACH;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;aAClB;iBAAM;gBACL,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;aACpB;SACF;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aAC7C;SACF;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YAC/B,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxC;IACH,CAAC;IAED,KAAK,CAAC,OAAyB;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1F;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YAC7B,OAAO,IAAI,CAAC,KAAK;gBACf,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI;gBAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;SACvC;aAAM;YACL,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC;SAC1F;IACH,CAAC;CACF;AAxED,gCAwEC;AAqGD;;;;;;GAMG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,OAAgB;IAClD,0BAA0B;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,OAAO,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;AACzB,CAAC;AAJD,sBAIC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CACrB,MAAc,EACd,QAA4B,EAC5B,eAAe,GAAG,IAAI;IAEtB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAC;KACd;IAED,IAAI,eAAe,EAAE;QACnB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;KACpB;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,IAAsB;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAFD,8BAEC;AAED;;GAEG;AACH,MAAa,aAAa;IAOxB,YAAY,UAA4B,EAAE;QACxC,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACnC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,uBAAuB;QAMrB,MAAM,UAAU,GAA6B,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;YAC1D,UAAU,CAAC,IAAI,CAAC,GAAG;gBACjB,OAAO;gBACP,KAAK;aACN,CAAC;YACF,mFAAmF;YACnF,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpB;SACF;QAED,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACzC,0BAA0B;YAC1B,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE;gBACtB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE;oBAClD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;oBACjC,0BAA0B;oBAC1B,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE;wBACrB,OAAO,CAAC,KAAK,EAAE,CAAC;wBAChB,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE;4BACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBACpB;qBACF;iBACF;aACF;SACF;QAED,OAAO;YACL,MAAM;YACN,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;SAChF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC5C,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxC,IAAI,MAAgB,CAAC;QAErB,sDAAsD;QACtD,MAAM,UAAU,GAAY,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,IAAI,UAAU,EAAE;YACd,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;SACxB;aAAM;YACL,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,GAAG,IAAA,yBAAO,EAAC,GAAG,EAAE,EAAE,CAAC,CAAC;SAC3B;QAED,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;YACzC,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO,KAAK,CAAC;aACd;YACD,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE;gBAC/B,IAAI,IAAA,wBAAY,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE;oBACzB,OAAO,IAAI,CAAC;iBACb;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;YAC3B,MAAM,OAAO,GAAG,MAAM,IAAA,+BAAa,EAAC;gBAClC,GAAG;gBACH,MAAM;gBACN,WAAW,EAAE,GAAG;gBAChB,MAAM,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;oBACrC,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,cAAc,EAAE;wBACnD,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;4BAC3B,EAAE;4BACF,2EAA2E;4BAC3E,uDAAuD;4BACvD,EAAE;4BACF,OAAO,KAAK,CAAC;yBACd;wBACD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC3B,OAAO,IAAI,CAAC;qBACb;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,SAAS,EAAE,CAAC,GAAW,EAAE,IAAY,EAAE,MAAW,EAAE,EAAE;oBACpD,IAAI,GAAG,KAAK,cAAc,EAAE;wBAC1B,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;4BAC3B,OAAO,KAAK,CAAC;yBACd;wBACD,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI;4BAC9C,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;4BACtB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBAC3E;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;aACF,CAAC,CAAC;YAEH,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrB;QAED,MAAM,QAAQ,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtD,yDAAyD;QACzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;SACtC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,MAAM,MAAM,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,OAA4B,EAAE,OAAe,EAAE,MAAe;QACvE,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;YAC3B,OAAO;SACR;QAED,IAAA,gBAAM,EAAC,OAAO,CAAC,IAAI,EAAE,cAAc,OAAO,oBAAoB,CAAC,CAAC;QAEhE,sBAAsB;QACtB,MAAM,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC;YAC3F,CAAC,CAAC,OAAO,CAAC,IAAI;YACd,CAAC,CAAC,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,OAAO,GAAqB;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO;YACb,MAAM;YACN,GAAG,gBAAC,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,SAAS;gBACT,cAAc;gBACd,iBAAiB;gBACjB,sBAAsB;gBACtB,kBAAkB;aACnB,CAAC;YACF,MAAM;YACN,OAAO;SACR,CAAC;QAEF,6BAA6B;QAC7B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC/B,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;YAC7B,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEjC,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACpC;aAAM;YACL,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAClC;IACH,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;QAC1B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/C,qCAAqC;QACrC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;YACzB,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;gBACvB,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,4DAA4D;YAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACnE;SACF;IACH,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,IAAY,EAAE,MAAc,EAAE,eAAe,GAAG,IAAI;QACjE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC9B,OAAO,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;SAC5E;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvC,MAAM,SAAS,GAAG,CAChB,OAAuB,EACvB,IAA4B,EAC5B,OAAqB,EACrB,EAAE;YACF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAE5B,gBAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAc,EAAE,IAAY,EAAE,EAAE;gBAC5C,4DAA4D;gBAC5D,wBAAwB;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACjB,OAAO;iBACR;gBAED,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEtF,IAAI,CAAC,SAAS,EAAE;oBACd,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;iBAC/C;gBAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;gBACvB,YAAY,CAAC,IAAI,CAAC,GAAG;oBACnB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC;oBACrB,eAAe,EAAE,EAAE;oBACnB,gBAAgB,EAAE,EAAE;iBACrB,CAAC;aACH;SACF;QAED,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAChD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACnD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;SACzD;IACH,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,IAAY,EAAE,EAAU,EAAE,UAAwB,EAAE,aAAwB;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,OAAO,IAAI,KAAK,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;SACxD;IACH,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,IAAY,EAAE,EAAU,EAAE,UAAwB,EAAE,aAAwB;QACrF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,OAAO,IAAI,MAAM,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;SACzD;IACH,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,OAAyB,EAAE,MAAwB;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE/C,iBAAiB;QACjB,IAAI,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxD,mCAAmC;YACnC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;gBAC5B,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC;aAC9B;YAED,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAClD,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC3C;YACD,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CAAC,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,SAA+B;QAC7C,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CACJ,OAAyB,EACzB,MAAwB,EACxB,UAAwB,EACxB,aAAwB;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACxC,6BAA6B;YAC7B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU;SACX,CAAC;QAEF,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;YACvC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU;SACX,CAAC;QAEF,IAAI,aAAa,EAAE;YACjB,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,aAAa,CAAC;YACnE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,aAAa,CAAC;SACtE;QAED,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,GAAW;QACzB,MAAM,IAAI,GAAG,IAAA,eAAQ,EAAC,cAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAY;QAC3B,OAAO,gBAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,WAAW,GAAG,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,MAAM,SAAS,GAAG,CAChB,OAAuB,EACvB,SAAwC,EACxC,KAAe,EACf,OAAsB,EACtB,EAAE;YACF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC5B,4BAA4B;YAC5B,gBAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAqB,EAAE,EAAE;gBAC1C,MAAM,GAAG,GAAG,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC;gBACzC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1C,iBAAiB;gBACjB,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;oBACxC,OAAO;iBACR;gBAED,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC1B,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC;iBACxD;gBAED,4CAA4C;gBAC5C,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACzD,MAAM,EAAE,CAAC;oBACT,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;iBAC/C;gBAED,sCAAsC;gBACtC,SAAS,CACP,OAAO,EACP,OAAO,CAAC,eAAe,EACvB,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,EAC7E,GAAG,CACJ,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE;YAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACnC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC3E;QAED,IAAI,MAAM,GAAG,CAAC,EAAE;YACd,IAAA,gBAAM,EACJ,WAAW,GAAG,EAAE,EAChB,oGAAoG,CACrG,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;SAC3C;IACH,CAAC;CACF;AA1hBD,sCA0hBC"}
|
|
1
|
+
{"version":3,"file":"fynpo-dep-graph.js","sourceRoot":"","sources":["../src/fynpo-dep-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,4 +23,30 @@ export declare type MMGroups = Record<string, MMGroup[]>;
|
|
|
23
23
|
* @returns object of grouped minimatch objects
|
|
24
24
|
*/
|
|
25
25
|
export declare function groupMM(mms: mm.IMinimatch[], groups: MMGroups): MMGroups;
|
|
26
|
+
/**
|
|
27
|
+
* process a minimatch pattern to group them for matching directories
|
|
28
|
+
*
|
|
29
|
+
* - needs to create a new pattern at every non-string part
|
|
30
|
+
* @param m0 minimatch pattern
|
|
31
|
+
*/
|
|
32
|
+
export declare function deconstructMM(m0: mm.IMinimatch): {
|
|
33
|
+
m0: mm.IMinimatch;
|
|
34
|
+
mms: mm.IMinimatch[];
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* check that a path matches against a list of minimatch patterns
|
|
38
|
+
*
|
|
39
|
+
* @param fullPath
|
|
40
|
+
* @param patterns
|
|
41
|
+
* @returns the first pattern that match or false
|
|
42
|
+
*/
|
|
43
|
+
export declare function checkMmMatch(fullPath: string, patterns: mm.IMinimatch[]): false | mm.IMinimatch;
|
|
44
|
+
/**
|
|
45
|
+
* Take a full path and match each level of it to a list of minimatch patterns
|
|
46
|
+
*
|
|
47
|
+
* @param path
|
|
48
|
+
* @param mms
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
export declare function unrollMmMatch(path: string, mms: mm.IMinimatch[]): false | mm.IMinimatch;
|
|
26
52
|
export {};
|
package/dist/minimatch-group.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.groupMM = void 0;
|
|
3
|
+
exports.unrollMmMatch = exports.checkMmMatch = exports.deconstructMM = exports.groupMM = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const minimatch_1 = (0, tslib_1.__importDefault)(require("minimatch"));
|
|
6
|
+
const lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
|
|
4
7
|
/**
|
|
5
8
|
* process a list of minimatch objects and group them by the string prefix of their patterns
|
|
6
9
|
*
|
|
@@ -32,4 +35,74 @@ function groupMM(mms, groups) {
|
|
|
32
35
|
return groups;
|
|
33
36
|
}
|
|
34
37
|
exports.groupMM = groupMM;
|
|
38
|
+
/**
|
|
39
|
+
* process a minimatch pattern to group them for matching directories
|
|
40
|
+
*
|
|
41
|
+
* - needs to create a new pattern at every non-string part
|
|
42
|
+
* @param m0 minimatch pattern
|
|
43
|
+
*/
|
|
44
|
+
function deconstructMM(m0) {
|
|
45
|
+
const mms = [];
|
|
46
|
+
const patterns = { m0, mms };
|
|
47
|
+
const set = m0.set[0];
|
|
48
|
+
const globParts = m0.globParts[0];
|
|
49
|
+
const iParts = [];
|
|
50
|
+
const { GLOBSTAR } = minimatch_1.default;
|
|
51
|
+
for (let ix = 0; ix < set.length; ix++) {
|
|
52
|
+
const s = set[ix];
|
|
53
|
+
const g = globParts[ix];
|
|
54
|
+
// if we hit something that's not string, then we need a mm with just the strings
|
|
55
|
+
// because a dir like "src" will not match "src/*"
|
|
56
|
+
if (typeof s !== "string" && iParts.length > 0) {
|
|
57
|
+
mms.push(new minimatch_1.default.Minimatch(iParts.join("/"), m0.options));
|
|
58
|
+
}
|
|
59
|
+
if (ix === set.length - 1) {
|
|
60
|
+
mms.push(m0);
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
iParts.push(g);
|
|
65
|
+
if (typeof s !== "string") {
|
|
66
|
+
mms.push(new minimatch_1.default.Minimatch(iParts.join("/"), m0.options));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (s === GLOBSTAR) {
|
|
70
|
+
// a pattern ending in GLOBSTAR will match anything
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return patterns;
|
|
75
|
+
}
|
|
76
|
+
exports.deconstructMM = deconstructMM;
|
|
77
|
+
/**
|
|
78
|
+
* check that a path matches against a list of minimatch patterns
|
|
79
|
+
*
|
|
80
|
+
* @param fullPath
|
|
81
|
+
* @param patterns
|
|
82
|
+
* @returns the first pattern that match or false
|
|
83
|
+
*/
|
|
84
|
+
function checkMmMatch(fullPath, patterns) {
|
|
85
|
+
return !lodash_1.default.isEmpty(patterns) && patterns.find((patternMm) => patternMm.match(fullPath));
|
|
86
|
+
}
|
|
87
|
+
exports.checkMmMatch = checkMmMatch;
|
|
88
|
+
/**
|
|
89
|
+
* Take a full path and match each level of it to a list of minimatch patterns
|
|
90
|
+
*
|
|
91
|
+
* @param path
|
|
92
|
+
* @param mms
|
|
93
|
+
* @returns
|
|
94
|
+
*/
|
|
95
|
+
function unrollMmMatch(path, mms) {
|
|
96
|
+
const parts = path.split("/");
|
|
97
|
+
let rp;
|
|
98
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
99
|
+
rp = rp !== undefined ? rp + "/" + parts[i] : parts[i];
|
|
100
|
+
const m1 = checkMmMatch(`${rp}/`, mms);
|
|
101
|
+
if (m1) {
|
|
102
|
+
return m1;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return checkMmMatch(path, mms);
|
|
106
|
+
}
|
|
107
|
+
exports.unrollMmMatch = unrollMmMatch;
|
|
35
108
|
//# sourceMappingURL=minimatch-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minimatch-group.js","sourceRoot":"","sources":["../src/minimatch-group.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"minimatch-group.js","sourceRoot":"","sources":["../src/minimatch-group.ts"],"names":[],"mappings":";;;;AAAA,uEAA2B;AAC3B,iEAAuB;AAoBvB;;;;;;GAMG;AACH,SAAgB,OAAO,CAAC,GAAoB,EAAE,MAAgB;IAC5D,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACjB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG;gBACX,EAAE;gBACF,GAAG;gBACH,KAAK;gBACL,EAAE;gBACF,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE;aACxB,CAAC;YAEF,wBAAwB;YACxB,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;gBAClB,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3B;iBAAM;gBACL,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAvBD,0BAuBC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,EAAiB;IAC7C,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,SAAS,GAAI,EAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAS,CAAC;IAE/B,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;QACtC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QACxB,iFAAiF;QACjF,kDAAkD;QAClD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9C,GAAG,CAAC,IAAI,CAAC,IAAI,mBAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;SAC1D;QAED,IAAI,EAAE,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,MAAM;SACP;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEf,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;gBACzB,GAAG,CAAC,IAAI,CAAC,IAAI,mBAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;aAC1D;SACF;QAED,IAAI,CAAC,KAAK,QAAQ,EAAE;YAClB,mDAAmD;YACnD,MAAM;SACP;KACF;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAnCD,sCAmCC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,QAAgB,EAAE,QAAyB;IACtE,OAAO,CAAC,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzF,CAAC;AAFD,oCAEC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,IAAY,EAAE,GAAoB;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,EAAU,CAAC;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACzC,EAAE,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,EAAE,EAAE;YACN,OAAO,EAAE,CAAC;SACX;KACF;IAED,OAAO,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAbD,sCAaC"}
|