@gallop.software/canon 2.23.0 → 2.25.0
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.
|
@@ -7,14 +7,44 @@ const pattern = getCanonPattern(RULE_NAME);
|
|
|
7
7
|
let hasReported = false;
|
|
8
8
|
// Required dev dependencies
|
|
9
9
|
const REQUIRED_DEPENDENCIES = ['knip', '@gallop.software/canon'];
|
|
10
|
-
// Required npm scripts (key = script name, value =
|
|
10
|
+
// Required npm scripts (key = script name, value = { contains: string to check for, definition: exact script to add })
|
|
11
11
|
const REQUIRED_SCRIPTS = {
|
|
12
|
-
unused:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
unused: {
|
|
13
|
+
contains: 'knip',
|
|
14
|
+
definition: '"unused": "knip"',
|
|
15
|
+
},
|
|
16
|
+
check: {
|
|
17
|
+
contains: 'npm run',
|
|
18
|
+
definition: '"check": "npm run lint && npm run ts && npm run unused"',
|
|
19
|
+
},
|
|
20
|
+
lint: {
|
|
21
|
+
contains: 'eslint',
|
|
22
|
+
definition: '"lint": "eslint src/"',
|
|
23
|
+
},
|
|
24
|
+
ts: {
|
|
25
|
+
contains: 'tsc',
|
|
26
|
+
definition: '"ts": "tsc --noEmit"',
|
|
27
|
+
},
|
|
28
|
+
audit: {
|
|
29
|
+
contains: 'gallop audit',
|
|
30
|
+
definition: '"audit": "gallop audit"',
|
|
31
|
+
},
|
|
32
|
+
'audit:strict': {
|
|
33
|
+
contains: 'gallop audit',
|
|
34
|
+
definition: '"audit:strict": "gallop audit --strict"',
|
|
35
|
+
},
|
|
36
|
+
'audit:json': {
|
|
37
|
+
contains: 'gallop audit',
|
|
38
|
+
definition: '"audit:json": "gallop audit --json"',
|
|
39
|
+
},
|
|
40
|
+
'generate:ai-rules': {
|
|
41
|
+
contains: 'gallop generate',
|
|
42
|
+
definition: '"generate:ai-rules": "gallop generate .cursorrules && gallop generate .github/copilot-instructions.md"',
|
|
43
|
+
},
|
|
44
|
+
'update:canon': {
|
|
45
|
+
contains: '@gallop.software/canon',
|
|
46
|
+
definition: '"update:canon": "npm update @gallop.software/canon"',
|
|
47
|
+
},
|
|
18
48
|
};
|
|
19
49
|
const rule = {
|
|
20
50
|
meta: {
|
|
@@ -26,8 +56,8 @@ const rule = {
|
|
|
26
56
|
},
|
|
27
57
|
messages: {
|
|
28
58
|
missingDependency: `[Canon] Missing required dependency: "{{dep}}". Run: npm install -D {{dep}}`,
|
|
29
|
-
missingScript: `[Canon] Missing required npm script
|
|
30
|
-
invalidScript: `[Canon] Script "{{script}}" should contain "{{expected}}"
|
|
59
|
+
missingScript: `[Canon] Missing required npm script "{{script}}". Add to package.json scripts: {{definition}}`,
|
|
60
|
+
invalidScript: `[Canon] Script "{{script}}" should contain "{{expected}}". Expected: {{definition}}`,
|
|
31
61
|
},
|
|
32
62
|
schema: [],
|
|
33
63
|
},
|
|
@@ -74,19 +104,19 @@ const rule = {
|
|
|
74
104
|
}
|
|
75
105
|
}
|
|
76
106
|
// Check scripts
|
|
77
|
-
for (const [scriptName,
|
|
107
|
+
for (const [scriptName, { contains, definition }] of Object.entries(REQUIRED_SCRIPTS)) {
|
|
78
108
|
if (!scripts[scriptName]) {
|
|
79
109
|
context.report({
|
|
80
110
|
node,
|
|
81
111
|
messageId: 'missingScript',
|
|
82
|
-
data: { script: scriptName },
|
|
112
|
+
data: { script: scriptName, definition },
|
|
83
113
|
});
|
|
84
114
|
}
|
|
85
|
-
else if (!scripts[scriptName].includes(
|
|
115
|
+
else if (!scripts[scriptName].includes(contains)) {
|
|
86
116
|
context.report({
|
|
87
117
|
node,
|
|
88
118
|
messageId: 'invalidScript',
|
|
89
|
-
data: { script: scriptName, expected:
|
|
119
|
+
data: { script: scriptName, expected: contains, definition },
|
|
90
120
|
});
|
|
91
121
|
}
|
|
92
122
|
}
|
|
@@ -103,4 +133,4 @@ export function resetReported() {
|
|
|
103
133
|
hasReported = false;
|
|
104
134
|
}
|
|
105
135
|
export default rule;
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZS1jYW5vbi1zZXR1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lc2xpbnQvcnVsZXMvcmVxdWlyZS1jYW5vbi1zZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQTtBQUN4QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWhFLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFBO0FBQ3ZDLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUUxQyxvREFBb0Q7QUFDcEQsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFBO0FBRXZCLDRCQUE0QjtBQUM1QixNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBTSxFQUFFLHdCQUF3QixDQUFDLENBQUE7QUFFaEUsNkVBQTZFO0FBQzdFLE1BQU0sZ0JBQWdCLEdBQTJCO0lBQy9DLE1BQU0sRUFBRSxNQUFNO0lBQ2QsS0FBSyxFQUFFLFNBQVM7SUFDaEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxFQUFFLEVBQUUsS0FBSztJQUNULEtBQUssRUFBRSxRQUFRO0lBQ2YsbUJBQW1CLEVBQUUsUUFBUTtDQUM5QixDQUFBO0FBRUQsTUFBTSxJQUFJLEdBQW9CO0lBQzVCLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxZQUFZO1FBQ2xCLElBQUksRUFBRTtZQUNKLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLHFDQUFxQztZQUN0RSxXQUFXLEVBQUUsSUFBSTtZQUNqQixHQUFHLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQztTQUM1QjtRQUNELFFBQVEsRUFBRTtZQUNSLGlCQUFpQixFQUFFLDZFQUE2RTtZQUNoRyxhQUFhLEVBQUUsaUZBQWlGO1lBQ2hHLGFBQWEsRUFBRSw0REFBNEQ7U0FD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Q0FBQztnQkFDSCxDQUFDO2dCQUFDLE1BQU0sQ0FBQztvQkFDUCxzQkFBc0I7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFBO0FBRUQsOERBQThEO0FBQzlELE1BQU0sVUFBVSxhQUFhO0lBQzNCLFdBQVcsR0FBRyxLQUFLLENBQUE7QUFDckIsQ0FBQztBQUVELGVBQWUsSUFBSSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSAnZXNsaW50J1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgeyBnZXRDYW5vblVybCwgZ2V0Q2Fub25QYXR0ZXJuIH0gZnJvbSAnLi4vdXRpbHMvY2Fub24uanMnXG5cbmNvbnN0IFJVTEVfTkFNRSA9ICdyZXF1aXJlLWNhbm9uLXNldHVwJ1xuY29uc3QgcGF0dGVybiA9IGdldENhbm9uUGF0dGVybihSVUxFX05BTUUpXG5cbi8vIFRyYWNrIGlmIHdlJ3ZlIGFscmVhZHkgcmVwb3J0ZWQgZm9yIHRoaXMgbGludCBydW5cbmxldCBoYXNSZXBvcnRlZCA9IGZhbHNlXG5cbi8vIFJlcXVpcmVkIGRldiBkZXBlbmRlbmNpZXNcbmNvbnN0IFJFUVVJUkVEX0RFUEVOREVOQ0lFUyA9IFsna25pcCcsICdAZ2FsbG9wLnNvZnR3YXJlL2Nhbm9uJ11cblxuLy8gUmVxdWlyZWQgbnBtIHNjcmlwdHMgKGtleSA9IHNjcmlwdCBuYW1lLCB2YWx1ZSA9IG11c3QgY29udGFpbiB0aGlzIHN0cmluZylcbmNvbnN0IFJFUVVJUkVEX1NDUklQVFM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIHVudXNlZDogJ2tuaXAnLFxuICBjaGVjazogJ25wbSBydW4nLFxuICBsaW50OiAnZXNsaW50JyxcbiAgdHM6ICd0c2MnLFxuICBhdWRpdDogJ2dhbGxvcCcsXG4gICdnZW5lcmF0ZTphaS1ydWxlcyc6ICdnYWxsb3AnLFxufVxuXG5jb25zdCBydWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246IHBhdHRlcm4/LnN1bW1hcnkgfHwgJ1JlcXVpcmUgQ2Fub24gc2V0dXAgaW4gcGFja2FnZS5qc29uJyxcbiAgICAgIHJlY29tbWVuZGVkOiB0cnVlLFxuICAgICAgdXJsOiBnZXRDYW5vblVybChSVUxFX05BTUUpLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIG1pc3NpbmdEZXBlbmRlbmN5OiBgW0Nhbm9uXSBNaXNzaW5nIHJlcXVpcmVkIGRlcGVuZGVuY3k6IFwie3tkZXB9fVwiLiBSdW46IG5wbSBpbnN0YWxsIC1EIHt7ZGVwfX1gLFxuICAgICAgbWlzc2luZ1NjcmlwdDogYFtDYW5vbl0gTWlzc2luZyByZXF1aXJlZCBucG0gc2NyaXB0OiBcInt7c2NyaXB0fX1cIi4gQWRkIHRvIHBhY2thZ2UuanNvbiBzY3JpcHRzLmAsXG4gICAgICBpbnZhbGlkU2NyaXB0OiBgW0Nhbm9uXSBTY3JpcHQgXCJ7e3NjcmlwdH19XCIgc2hvdWxkIGNvbnRhaW4gXCJ7e2V4cGVjdGVkfX1cIi5gLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGUoY29udGV4dCkge1xuICAgIC8vIE9ubHkgY2hlY2sgb25jZSBwZXIgbGludCBydW4sIG9uIHRoZSBmaXJzdCBmaWxlXG4gICAgaWYgKGhhc1JlcG9ydGVkKSB7XG4gICAgICByZXR1cm4ge31cbiAgICB9XG5cbiAgICAvLyBGaW5kIHRoZSBwcm9qZWN0IHJvb3QgKHdoZXJlIHBhY2thZ2UuanNvbiBpcylcbiAgICBjb25zdCBmaWxlbmFtZSA9IGNvbnRleHQuZmlsZW5hbWUgfHwgY29udGV4dC5nZXRGaWxlbmFtZSgpXG4gICAgbGV0IGRpciA9IHBhdGguZGlybmFtZShmaWxlbmFtZSlcbiAgICBsZXQgcGFja2FnZUpzb25QYXRoID0gJydcbiAgICBcbiAgICAvLyBXYWxrIHVwIHRvIGZpbmQgcGFja2FnZS5qc29uXG4gICAgd2hpbGUgKGRpciAhPT0gcGF0aC5kaXJuYW1lKGRpcikpIHtcbiAgICAgIGNvbnN0IGNhbmRpZGF0ZSA9IHBhdGguam9pbihkaXIsICdwYWNrYWdlLmpzb24nKVxuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoY2FuZGlkYXRlKSkge1xuICAgICAgICBwYWNrYWdlSnNvblBhdGggPSBjYW5kaWRhdGVcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGRpciA9IHBhdGguZGlybmFtZShkaXIpXG4gICAgfVxuXG4gICAgaWYgKCFwYWNrYWdlSnNvblBhdGgpIHtcbiAgICAgIHJldHVybiB7fVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBQcm9ncmFtKG5vZGUpIHtcbiAgICAgICAgaWYgKGhhc1JlcG9ydGVkKSByZXR1cm5cbiAgICAgICAgaGFzUmVwb3J0ZWQgPSB0cnVlXG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYWNrYWdlSnNvbiA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhY2thZ2VKc29uUGF0aCwgJ3V0ZjgnKSlcbiAgICAgICAgICBjb25zdCBkZXZEZXBzID0gcGFja2FnZUpzb24uZGV2RGVwZW5kZW5jaWVzIHx8IHt9XG4gICAgICAgICAgY29uc3QgZGVwcyA9IHBhY2thZ2VKc29uLmRlcGVuZGVuY2llcyB8fCB7fVxuICAgICAgICAgIGNvbnN0IGFsbERlcHMgPSB7IC4uLmRlcHMsIC4uLmRldkRlcHMgfVxuICAgICAgICAgIGNvbnN0IHNjcmlwdHMgPSBwYWNrYWdlSnNvbi5zY3JpcHRzIHx8IHt9XG5cbiAgICAgICAgICAvLyBDaGVjayBkZXBlbmRlbmNpZXNcbiAgICAgICAgICBmb3IgKGNvbnN0IGRlcCBvZiBSRVFVSVJFRF9ERVBFTkRFTkNJRVMpIHtcbiAgICAgICAgICAgIGlmICghYWxsRGVwc1tkZXBdKSB7XG4gICAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2VJZDogJ21pc3NpbmdEZXBlbmRlbmN5JyxcbiAgICAgICAgICAgICAgICBkYXRhOiB7IGRlcCB9LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIENoZWNrIHNjcmlwdHNcbiAgICAgICAgICBmb3IgKGNvbnN0IFtzY3JpcHROYW1lLCBleHBlY3RlZENvbnRhaW5zXSBvZiBPYmplY3QuZW50cmllcyhSRVFVSVJFRF9TQ1JJUFRTKSkge1xuICAgICAgICAgICAgaWYgKCFzY3JpcHRzW3NjcmlwdE5hbWVdKSB7XG4gICAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2VJZDogJ21pc3NpbmdTY3JpcHQnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHsgc2NyaXB0OiBzY3JpcHROYW1lIH0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFzY3JpcHRzW3NjcmlwdE5hbWVdLmluY2x1ZGVzKGV4cGVjdGVkQ29udGFpbnMpKSB7XG4gICAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2VJZDogJ2ludmFsaWRTY3JpcHQnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHsgc2NyaXB0OiBzY3JpcHROYW1lLCBleHBlY3RlZDogZXhwZWN0ZWRDb250YWlucyB9LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gSWdub3JlIHBhcnNlIGVycm9yc1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH1cbiAgfSxcbn1cblxuLy8gUmVzZXQgdGhlIGZsYWcgd2hlbiB0aGUgbW9kdWxlIGlzIHJlbG9hZGVkIChmb3Igd2F0Y2ggbW9kZSlcbmV4cG9ydCBmdW5jdGlvbiByZXNldFJlcG9ydGVkKCkge1xuICBoYXNSZXBvcnRlZCA9IGZhbHNlXG59XG5cbmV4cG9ydCBkZWZhdWx0IHJ1bGVcbiJdfQ==
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZS1jYW5vbi1zZXR1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lc2xpbnQvcnVsZXMvcmVxdWlyZS1jYW5vbi1zZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQTtBQUN4QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWhFLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFBO0FBQ3ZDLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUUxQyxvREFBb0Q7QUFDcEQsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFBO0FBRXZCLDRCQUE0QjtBQUM1QixNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBTSxFQUFFLHdCQUF3QixDQUFDLENBQUE7QUFFaEUsdUhBQXVIO0FBQ3ZILE1BQU0sZ0JBQWdCLEdBQTZEO0lBQ2pGLE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFVBQVUsRUFBRSxrQkFBa0I7S0FDL0I7SUFDRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUUsU0FBUztRQUNuQixVQUFVLEVBQUUseURBQXlEO0tBQ3RFO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLFFBQVE7UUFDbEIsVUFBVSxFQUFFLHVCQUF1QjtLQUNwQztJQUNELEVBQUUsRUFBRTtRQUNGLFFBQVEsRUFBRSxLQUFLO1FBQ2YsVUFBVSxFQUFFLHNCQUFzQjtLQUNuQztJQUNELEtBQUssRUFBRTtRQUNMLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLFVBQVUsRUFBRSx5QkFBeUI7S0FDdEM7SUFDRCxjQUFjLEVBQUU7UUFDZCxRQUFRLEVBQUUsY0FBYztRQUN4QixVQUFVLEVBQUUseUNBQXlDO0tBQ3REO0lBQ0QsWUFBWSxFQUFFO1FB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QVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO3dCQUN0RixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7NEJBQ3pCLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0NBQ2IsSUFBSTtnQ0FDSixTQUFTLEVBQUUsZUFBZTtnQ0FDMUIsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7NkJBQ3pDLENBQUMsQ0FBQTt3QkFDSixDQUFDOzZCQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7NEJBQ25ELE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0NBQ2IsSUFBSTtnQ0FDSixTQUFTLEVBQUUsZUFBZTtnQ0FDMUIsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTs2QkFDN0QsQ0FBQyxDQUFBO3dCQUNKLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUFDLE1BQU0sQ0FBQztvQkFDUCxzQkFBc0I7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFBO0FBRUQsOERBQThEO0FBQzlELE1BQU0sVUFBVSxhQUFhO0lBQzNCLFdBQVcsR0FBRyxLQUFLLENBQUE7QUFDckIsQ0FBQztBQUVELGVBQWUsSUFBSSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSAnZXNsaW50J1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgeyBnZXRDYW5vblVybCwgZ2V0Q2Fub25QYXR0ZXJuIH0gZnJvbSAnLi4vdXRpbHMvY2Fub24uanMnXG5cbmNvbnN0IFJVTEVfTkFNRSA9ICdyZXF1aXJlLWNhbm9uLXNldHVwJ1xuY29uc3QgcGF0dGVybiA9IGdldENhbm9uUGF0dGVybihSVUxFX05BTUUpXG5cbi8vIFRyYWNrIGlmIHdlJ3ZlIGFscmVhZHkgcmVwb3J0ZWQgZm9yIHRoaXMgbGludCBydW5cbmxldCBoYXNSZXBvcnRlZCA9IGZhbHNlXG5cbi8vIFJlcXVpcmVkIGRldiBkZXBlbmRlbmNpZXNcbmNvbnN0IFJFUVVJUkVEX0RFUEVOREVOQ0lFUyA9IFsna25pcCcsICdAZ2FsbG9wLnNvZnR3YXJlL2Nhbm9uJ11cblxuLy8gUmVxdWlyZWQgbnBtIHNjcmlwdHMgKGtleSA9IHNjcmlwdCBuYW1lLCB2YWx1ZSA9IHsgY29udGFpbnM6IHN0cmluZyB0byBjaGVjayBmb3IsIGRlZmluaXRpb246IGV4YWN0IHNjcmlwdCB0byBhZGQgfSlcbmNvbnN0IFJFUVVJUkVEX1NDUklQVFM6IFJlY29yZDxzdHJpbmcsIHsgY29udGFpbnM6IHN0cmluZzsgZGVmaW5pdGlvbjogc3RyaW5nIH0+ID0ge1xuICB1bnVzZWQ6IHtcbiAgICBjb250YWluczogJ2tuaXAnLFxuICAgIGRlZmluaXRpb246ICdcInVudXNlZFwiOiBcImtuaXBcIicsXG4gIH0sXG4gIGNoZWNrOiB7XG4gICAgY29udGFpbnM6ICducG0gcnVuJyxcbiAgICBkZWZpbml0aW9uOiAnXCJjaGVja1wiOiBcIm5wbSBydW4gbGludCAmJiBucG0gcnVuIHRzICYmIG5wbSBydW4gdW51c2VkXCInLFxuICB9LFxuICBsaW50OiB7XG4gICAgY29udGFpbnM6ICdlc2xpbnQnLFxuICAgIGRlZmluaXRpb246ICdcImxpbnRcIjogXCJlc2xpbnQgc3JjL1wiJyxcbiAgfSxcbiAgdHM6IHtcbiAgICBjb250YWluczogJ3RzYycsXG4gICAgZGVmaW5pdGlvbjogJ1widHNcIjogXCJ0c2MgLS1ub0VtaXRcIicsXG4gIH0sXG4gIGF1ZGl0OiB7XG4gICAgY29udGFpbnM6ICdnYWxsb3AgYXVkaXQnLFxuICAgIGRlZmluaXRpb246ICdcImF1ZGl0XCI6IFwiZ2FsbG9wIGF1ZGl0XCInLFxuICB9LFxuICAnYXVkaXQ6c3RyaWN0Jzoge1xuICAgIGNvbnRhaW5zOiAnZ2FsbG9wIGF1ZGl0JyxcbiAgICBkZWZpbml0aW9uOiAnXCJhdWRpdDpzdHJpY3RcIjogXCJnYWxsb3AgYXVkaXQgLS1zdHJpY3RcIicsXG4gIH0sXG4gICdhdWRpdDpqc29uJzoge1xuICAgIGNvbnRhaW5zOiAnZ2FsbG9wIGF1ZGl0JyxcbiAgICBkZWZpbml0aW9uOiAnXCJhdWRpdDpqc29uXCI6IFwiZ2FsbG9wIGF1ZGl0IC0tanNvblwiJyxcbiAgfSxcbiAgJ2dlbmVyYXRlOmFpLXJ1bGVzJzoge1xuICAgIGNvbnRhaW5zOiAnZ2FsbG9wIGdlbmVyYXRlJyxcbiAgICBkZWZpbml0aW9uOiAnXCJnZW5lcmF0ZTphaS1ydWxlc1wiOiBcImdhbGxvcCBnZW5lcmF0ZSAuY3Vyc29ycnVsZXMgJiYgZ2FsbG9wIGdlbmVyYXRlIC5naXRodWIvY29waWxvdC1pbnN0cnVjdGlvbnMubWRcIicsXG4gIH0sXG4gICd1cGRhdGU6Y2Fub24nOiB7XG4gICAgY29udGFpbnM6ICdAZ2FsbG9wLnNvZnR3YXJlL2Nhbm9uJyxcbiAgICBkZWZpbml0aW9uOiAnXCJ1cGRhdGU6Y2Fub25cIjogXCJucG0gdXBkYXRlIEBnYWxsb3Auc29mdHdhcmUvY2Fub25cIicsXG4gIH0sXG59XG5cbmNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogcGF0dGVybj8uc3VtbWFyeSB8fCAnUmVxdWlyZSBDYW5vbiBzZXR1cCBpbiBwYWNrYWdlLmpzb24nLFxuICAgICAgcmVjb21tZW5kZWQ6IHRydWUsXG4gICAgICB1cmw6IGdldENhbm9uVXJsKFJVTEVfTkFNRSksXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgbWlzc2luZ0RlcGVuZGVuY3k6IGBbQ2Fub25dIE1pc3NpbmcgcmVxdWlyZWQgZGVwZW5kZW5jeTogXCJ7e2RlcH19XCIuIFJ1bjogbnBtIGluc3RhbGwgLUQge3tkZXB9fWAsXG4gICAgICBtaXNzaW5nU2NyaXB0OiBgW0Nhbm9uXSBNaXNzaW5nIHJlcXVpcmVkIG5wbSBzY3JpcHQgXCJ7e3NjcmlwdH19XCIuIEFkZCB0byBwYWNrYWdlLmpzb24gc2NyaXB0czoge3tkZWZpbml0aW9ufX1gLFxuICAgICAgaW52YWxpZFNjcmlwdDogYFtDYW5vbl0gU2NyaXB0IFwie3tzY3JpcHR9fVwiIHNob3VsZCBjb250YWluIFwie3tleHBlY3RlZH19XCIuIEV4cGVjdGVkOiB7e2RlZmluaXRpb259fWAsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICB9LFxuXG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgLy8gT25seSBjaGVjayBvbmNlIHBlciBsaW50IHJ1biwgb24gdGhlIGZpcnN0IGZpbGVcbiAgICBpZiAoaGFzUmVwb3J0ZWQpIHtcbiAgICAgIHJldHVybiB7fVxuICAgIH1cblxuICAgIC8vIEZpbmQgdGhlIHByb2plY3Qgcm9vdCAod2hlcmUgcGFja2FnZS5qc29uIGlzKVxuICAgIGNvbnN0IGZpbGVuYW1lID0gY29udGV4dC5maWxlbmFtZSB8fCBjb250ZXh0LmdldEZpbGVuYW1lKClcbiAgICBsZXQgZGlyID0gcGF0aC5kaXJuYW1lKGZpbGVuYW1lKVxuICAgIGxldCBwYWNrYWdlSnNvblBhdGggPSAnJ1xuICAgIFxuICAgIC8vIFdhbGsgdXAgdG8gZmluZCBwYWNrYWdlLmpzb25cbiAgICB3aGlsZSAoZGlyICE9PSBwYXRoLmRpcm5hbWUoZGlyKSkge1xuICAgICAgY29uc3QgY2FuZGlkYXRlID0gcGF0aC5qb2luKGRpciwgJ3BhY2thZ2UuanNvbicpXG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhjYW5kaWRhdGUpKSB7XG4gICAgICAgIHBhY2thZ2VKc29uUGF0aCA9IGNhbmRpZGF0ZVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgZGlyID0gcGF0aC5kaXJuYW1lKGRpcilcbiAgICB9XG5cbiAgICBpZiAoIXBhY2thZ2VKc29uUGF0aCkge1xuICAgICAgcmV0dXJuIHt9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIFByb2dyYW0obm9kZSkge1xuICAgICAgICBpZiAoaGFzUmVwb3J0ZWQpIHJldHVyblxuICAgICAgICBoYXNSZXBvcnRlZCA9IHRydWVcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHBhY2thZ2VKc29uID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGFja2FnZUpzb25QYXRoLCAndXRmOCcpKVxuICAgICAgICAgIGNvbnN0IGRldkRlcHMgPSBwYWNrYWdlSnNvbi5kZXZEZXBlbmRlbmNpZXMgfHwge31cbiAgICAgICAgICBjb25zdCBkZXBzID0gcGFja2FnZUpzb24uZGVwZW5kZW5jaWVzIHx8IHt9XG4gICAgICAgICAgY29uc3QgYWxsRGVwcyA9IHsgLi4uZGVwcywgLi4uZGV2RGVwcyB9XG4gICAgICAgICAgY29uc3Qgc2NyaXB0cyA9IHBhY2thZ2VKc29uLnNjcmlwdHMgfHwge31cblxuICAgICAgICAgIC8vIENoZWNrIGRlcGVuZGVuY2llc1xuICAgICAgICAgIGZvciAoY29uc3QgZGVwIG9mIFJFUVVJUkVEX0RFUEVOREVOQ0lFUykge1xuICAgICAgICAgICAgaWYgKCFhbGxEZXBzW2RlcF0pIHtcbiAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZUlkOiAnbWlzc2luZ0RlcGVuZGVuY3knLFxuICAgICAgICAgICAgICAgIGRhdGE6IHsgZGVwIH0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gQ2hlY2sgc2NyaXB0c1xuICAgICAgICAgIGZvciAoY29uc3QgW3NjcmlwdE5hbWUsIHsgY29udGFpbnMsIGRlZmluaXRpb24gfV0gb2YgT2JqZWN0LmVudHJpZXMoUkVRVUlSRURfU0NSSVBUUykpIHtcbiAgICAgICAgICAgIGlmICghc2NyaXB0c1tzY3JpcHROYW1lXSkge1xuICAgICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlSWQ6ICdtaXNzaW5nU2NyaXB0JyxcbiAgICAgICAgICAgICAgICBkYXRhOiB7IHNjcmlwdDogc2NyaXB0TmFtZSwgZGVmaW5pdGlvbiB9LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIGlmICghc2NyaXB0c1tzY3JpcHROYW1lXS5pbmNsdWRlcyhjb250YWlucykpIHtcbiAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZUlkOiAnaW52YWxpZFNjcmlwdCcsXG4gICAgICAgICAgICAgICAgZGF0YTogeyBzY3JpcHQ6IHNjcmlwdE5hbWUsIGV4cGVjdGVkOiBjb250YWlucywgZGVmaW5pdGlvbiB9LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gSWdub3JlIHBhcnNlIGVycm9yc1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH1cbiAgfSxcbn1cblxuLy8gUmVzZXQgdGhlIGZsYWcgd2hlbiB0aGUgbW9kdWxlIGlzIHJlbG9hZGVkIChmb3Igd2F0Y2ggbW9kZSlcbmV4cG9ydCBmdW5jdGlvbiByZXNldFJlcG9ydGVkKCkge1xuICBoYXNSZXBvcnRlZCA9IGZhbHNlXG59XG5cbmV4cG9ydCBkZWZhdWx0IHJ1bGVcbiJdfQ==
|