@gallop.software/canon 2.25.0 → 2.29.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.
- package/dist/cli/commands/generate.d.ts +2 -1
- package/dist/cli/commands/generate.js +337 -76
- package/dist/cli/config.d.ts +6 -0
- package/dist/cli/config.js +17 -0
- package/dist/cli/index.js +36 -10
- package/dist/eslint/index.d.ts +8 -0
- package/dist/eslint/index.js +13 -1
- package/dist/eslint/rules/no-classnames-package.d.ts +3 -0
- package/dist/eslint/rules/no-classnames-package.js +46 -0
- package/dist/eslint/rules/no-inline-svg.d.ts +3 -0
- package/dist/eslint/rules/no-inline-svg.js +37 -0
- package/dist/eslint/rules/no-raw-colors.d.ts +3 -0
- package/dist/eslint/rules/no-raw-colors.js +139 -0
- package/dist/eslint/rules/prefer-alias-imports.d.ts +3 -0
- package/dist/eslint/rules/prefer-alias-imports.js +105 -0
- package/dist/eslint/rules/prefer-list-components.js +3 -3
- package/dist/eslint/rules/prefer-typography-components.js +7 -1
- package/dist/eslint/rules/require-canon-setup.js +5 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/types/config.d.ts +36 -0
- package/dist/types/config.js +2 -0
- package/package.json +5 -1
- package/patterns/007-import-paths.md +4 -3
- package/patterns/009-color-tokens.md +4 -3
- package/patterns/012-icon-system.md +4 -3
- package/patterns/014-clsx-not-classnames.md +3 -3
- package/schema.json +8 -8
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { getCanonUrl, getCanonPattern } from '../utils/canon.js';
|
|
2
|
+
const RULE_NAME = 'prefer-alias-imports';
|
|
3
|
+
const pattern = getCanonPattern(RULE_NAME);
|
|
4
|
+
const DEFAULT_ZONES = [
|
|
5
|
+
'components',
|
|
6
|
+
'blocks',
|
|
7
|
+
'hooks',
|
|
8
|
+
'utils',
|
|
9
|
+
'tools',
|
|
10
|
+
'template',
|
|
11
|
+
'types',
|
|
12
|
+
'styles',
|
|
13
|
+
];
|
|
14
|
+
/**
|
|
15
|
+
* Count how many "../" segments a relative path starts with
|
|
16
|
+
*/
|
|
17
|
+
function countParentSegments(importPath) {
|
|
18
|
+
const matches = importPath.match(/^\.\.\//g) || importPath.match(/^(\.\.\/)+/);
|
|
19
|
+
if (!matches)
|
|
20
|
+
return 0;
|
|
21
|
+
// Count occurrences of ../ at the start
|
|
22
|
+
let count = 0;
|
|
23
|
+
let remaining = importPath;
|
|
24
|
+
while (remaining.startsWith('../')) {
|
|
25
|
+
count++;
|
|
26
|
+
remaining = remaining.slice(3);
|
|
27
|
+
}
|
|
28
|
+
return count;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Check if an import path targets a Canon zone
|
|
32
|
+
*/
|
|
33
|
+
function getTargetZone(importPath, zones) {
|
|
34
|
+
// Walk past all ../ segments and check if the next segment is a zone
|
|
35
|
+
let remaining = importPath;
|
|
36
|
+
while (remaining.startsWith('../')) {
|
|
37
|
+
remaining = remaining.slice(3);
|
|
38
|
+
}
|
|
39
|
+
const firstSegment = remaining.split('/')[0];
|
|
40
|
+
if (zones.includes(firstSegment)) {
|
|
41
|
+
return firstSegment;
|
|
42
|
+
}
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
const rule = {
|
|
46
|
+
meta: {
|
|
47
|
+
type: 'suggestion',
|
|
48
|
+
docs: {
|
|
49
|
+
description: pattern?.summary || 'Use @/ alias imports instead of deep relative paths',
|
|
50
|
+
recommended: true,
|
|
51
|
+
url: getCanonUrl(RULE_NAME),
|
|
52
|
+
},
|
|
53
|
+
messages: {
|
|
54
|
+
useAlias: `[Canon ${pattern?.id || '007'}] Use "{{alias}}{{zone}}/..." instead of "{{importPath}}".`,
|
|
55
|
+
},
|
|
56
|
+
schema: [
|
|
57
|
+
{
|
|
58
|
+
type: 'object',
|
|
59
|
+
properties: {
|
|
60
|
+
alias: {
|
|
61
|
+
type: 'string',
|
|
62
|
+
},
|
|
63
|
+
zones: {
|
|
64
|
+
type: 'array',
|
|
65
|
+
items: { type: 'string' },
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
additionalProperties: false,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
create(context) {
|
|
73
|
+
const options = context.options[0] || {};
|
|
74
|
+
const alias = options.alias || '@/';
|
|
75
|
+
const zones = options.zones || DEFAULT_ZONES;
|
|
76
|
+
return {
|
|
77
|
+
ImportDeclaration(node) {
|
|
78
|
+
const importPath = node.source?.value;
|
|
79
|
+
if (typeof importPath !== 'string')
|
|
80
|
+
return;
|
|
81
|
+
// Only check relative imports
|
|
82
|
+
if (!importPath.startsWith('.'))
|
|
83
|
+
return;
|
|
84
|
+
// Same-directory imports are fine
|
|
85
|
+
if (importPath.startsWith('./'))
|
|
86
|
+
return;
|
|
87
|
+
// Check if 2+ parent segments
|
|
88
|
+
const parentCount = countParentSegments(importPath);
|
|
89
|
+
if (parentCount < 2)
|
|
90
|
+
return;
|
|
91
|
+
// Check if targeting a Canon zone
|
|
92
|
+
const zone = getTargetZone(importPath, zones);
|
|
93
|
+
if (zone) {
|
|
94
|
+
context.report({
|
|
95
|
+
node,
|
|
96
|
+
messageId: 'useAlias',
|
|
97
|
+
data: { alias, zone, importPath },
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
export default rule;
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyLWFsaWFzLWltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXNsaW50L3J1bGVzL3ByZWZlci1hbGlhcy1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFaEUsTUFBTSxTQUFTLEdBQUcsc0JBQXNCLENBQUE7QUFDeEMsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRTFDLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLFlBQVk7SUFDWixRQUFRO0lBQ1IsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsVUFBVTtJQUNWLE9BQU87SUFDUCxRQUFRO0NBQ1QsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxVQUFrQjtJQUM3QyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDOUUsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN0Qix3Q0FBd0M7SUFDeEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQ2IsSUFBSSxTQUFTLEdBQUcsVUFBVSxDQUFBO0lBQzFCLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25DLEtBQUssRUFBRSxDQUFBO1FBQ1AsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxhQUFhLENBQUMsVUFBa0IsRUFBRSxLQUFlO0lBQ3hELHFFQUFxRTtJQUNyRSxJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUE7SUFDMUIsT0FBTyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUNELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDNUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDakMsT0FBTyxZQUFZLENBQUE7SUFDckIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVELE1BQU0sSUFBSSxHQUFvQjtJQUM1QixJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsWUFBWTtRQUNsQixJQUFJLEVBQUU7WUFDSixXQUFXLEVBQUUsT0FBTyxFQUFFLE9BQU8sSUFBSSxxREFBcUQ7WUFDdEYsV0FBVyxFQUFFLElBQUk7WUFDakIsR0FBRyxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUM7U0FDNUI7UUFDRCxRQUFRLEVBQUU7WUFDUixRQUFRLEVBQUUsVUFBVSxPQUFPLEVBQUUsRUFBRSxJQUFJLEtBQUssNERBQTREO1NBQ3JHO1FBQ0QsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsVUFBVSxFQUFFO29CQUNWLEtBQUssRUFBRTt3QkFDTCxJQUFJLEVBQUUsUUFBUTtxQkFDZjtvQkFDRCxLQUFLLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLE9BQU87d0JBQ2IsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtxQkFDMUI7aUJBQ0Y7Z0JBQ0Qsb0JBQW9CLEVBQUUsS0FBSzthQUM1QjtTQUNGO0tBQ0Y7SUFFRCxNQUFNLENBQUMsT0FBTztRQUNaLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFBO1FBQ25DLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksYUFBYSxDQUFBO1FBRTVDLE9BQU87WUFDTCxpQkFBaUIsQ0FBQyxJQUFTO2dCQUN6QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQTtnQkFDckMsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRO29CQUFFLE9BQU07Z0JBRTFDLDhCQUE4QjtnQkFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUFFLE9BQU07Z0JBRXZDLGtDQUFrQztnQkFDbEMsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztvQkFBRSxPQUFNO2dCQUV2Qyw4QkFBOEI7Z0JBQzlCLE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFBO2dCQUNuRCxJQUFJLFdBQVcsR0FBRyxDQUFDO29CQUFFLE9BQU07Z0JBRTNCLGtDQUFrQztnQkFDbEMsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQTtnQkFDN0MsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDVCxPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNiLElBQUk7d0JBQ0osU0FBUyxFQUFFLFVBQVU7d0JBQ3JCLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO3FCQUNsQyxDQUFDLENBQUE7Z0JBQ0osQ0FBQztZQUNILENBQUM7U0FDRixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFFRCxlQUFlLElBQUksQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gJ2VzbGludCdcbmltcG9ydCB7IGdldENhbm9uVXJsLCBnZXRDYW5vblBhdHRlcm4gfSBmcm9tICcuLi91dGlscy9jYW5vbi5qcydcblxuY29uc3QgUlVMRV9OQU1FID0gJ3ByZWZlci1hbGlhcy1pbXBvcnRzJ1xuY29uc3QgcGF0dGVybiA9IGdldENhbm9uUGF0dGVybihSVUxFX05BTUUpXG5cbmNvbnN0IERFRkFVTFRfWk9ORVMgPSBbXG4gICdjb21wb25lbnRzJyxcbiAgJ2Jsb2NrcycsXG4gICdob29rcycsXG4gICd1dGlscycsXG4gICd0b29scycsXG4gICd0ZW1wbGF0ZScsXG4gICd0eXBlcycsXG4gICdzdHlsZXMnLFxuXVxuXG4vKipcbiAqIENvdW50IGhvdyBtYW55IFwiLi4vXCIgc2VnbWVudHMgYSByZWxhdGl2ZSBwYXRoIHN0YXJ0cyB3aXRoXG4gKi9cbmZ1bmN0aW9uIGNvdW50UGFyZW50U2VnbWVudHMoaW1wb3J0UGF0aDogc3RyaW5nKTogbnVtYmVyIHtcbiAgY29uc3QgbWF0Y2hlcyA9IGltcG9ydFBhdGgubWF0Y2goL15cXC5cXC5cXC8vZykgfHwgaW1wb3J0UGF0aC5tYXRjaCgvXihcXC5cXC5cXC8pKy8pXG4gIGlmICghbWF0Y2hlcykgcmV0dXJuIDBcbiAgLy8gQ291bnQgb2NjdXJyZW5jZXMgb2YgLi4vIGF0IHRoZSBzdGFydFxuICBsZXQgY291bnQgPSAwXG4gIGxldCByZW1haW5pbmcgPSBpbXBvcnRQYXRoXG4gIHdoaWxlIChyZW1haW5pbmcuc3RhcnRzV2l0aCgnLi4vJykpIHtcbiAgICBjb3VudCsrXG4gICAgcmVtYWluaW5nID0gcmVtYWluaW5nLnNsaWNlKDMpXG4gIH1cbiAgcmV0dXJuIGNvdW50XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYW4gaW1wb3J0IHBhdGggdGFyZ2V0cyBhIENhbm9uIHpvbmVcbiAqL1xuZnVuY3Rpb24gZ2V0VGFyZ2V0Wm9uZShpbXBvcnRQYXRoOiBzdHJpbmcsIHpvbmVzOiBzdHJpbmdbXSk6IHN0cmluZyB8IG51bGwge1xuICAvLyBXYWxrIHBhc3QgYWxsIC4uLyBzZWdtZW50cyBhbmQgY2hlY2sgaWYgdGhlIG5leHQgc2VnbWVudCBpcyBhIHpvbmVcbiAgbGV0IHJlbWFpbmluZyA9IGltcG9ydFBhdGhcbiAgd2hpbGUgKHJlbWFpbmluZy5zdGFydHNXaXRoKCcuLi8nKSkge1xuICAgIHJlbWFpbmluZyA9IHJlbWFpbmluZy5zbGljZSgzKVxuICB9XG4gIGNvbnN0IGZpcnN0U2VnbWVudCA9IHJlbWFpbmluZy5zcGxpdCgnLycpWzBdXG4gIGlmICh6b25lcy5pbmNsdWRlcyhmaXJzdFNlZ21lbnQpKSB7XG4gICAgcmV0dXJuIGZpcnN0U2VnbWVudFxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogcGF0dGVybj8uc3VtbWFyeSB8fCAnVXNlIEAvIGFsaWFzIGltcG9ydHMgaW5zdGVhZCBvZiBkZWVwIHJlbGF0aXZlIHBhdGhzJyxcbiAgICAgIHJlY29tbWVuZGVkOiB0cnVlLFxuICAgICAgdXJsOiBnZXRDYW5vblVybChSVUxFX05BTUUpLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIHVzZUFsaWFzOiBgW0Nhbm9uICR7cGF0dGVybj8uaWQgfHwgJzAwNyd9XSBVc2UgXCJ7e2FsaWFzfX17e3pvbmV9fS8uLi5cIiBpbnN0ZWFkIG9mIFwie3tpbXBvcnRQYXRofX1cIi5gLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgYWxpYXM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgem9uZXM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICBpdGVtczogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcblxuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge31cbiAgICBjb25zdCBhbGlhcyA9IG9wdGlvbnMuYWxpYXMgfHwgJ0AvJ1xuICAgIGNvbnN0IHpvbmVzID0gb3B0aW9ucy56b25lcyB8fCBERUZBVUxUX1pPTkVTXG5cbiAgICByZXR1cm4ge1xuICAgICAgSW1wb3J0RGVjbGFyYXRpb24obm9kZTogYW55KSB7XG4gICAgICAgIGNvbnN0IGltcG9ydFBhdGggPSBub2RlLnNvdXJjZT8udmFsdWVcbiAgICAgICAgaWYgKHR5cGVvZiBpbXBvcnRQYXRoICE9PSAnc3RyaW5nJykgcmV0dXJuXG5cbiAgICAgICAgLy8gT25seSBjaGVjayByZWxhdGl2ZSBpbXBvcnRzXG4gICAgICAgIGlmICghaW1wb3J0UGF0aC5zdGFydHNXaXRoKCcuJykpIHJldHVyblxuXG4gICAgICAgIC8vIFNhbWUtZGlyZWN0b3J5IGltcG9ydHMgYXJlIGZpbmVcbiAgICAgICAgaWYgKGltcG9ydFBhdGguc3RhcnRzV2l0aCgnLi8nKSkgcmV0dXJuXG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgMisgcGFyZW50IHNlZ21lbnRzXG4gICAgICAgIGNvbnN0IHBhcmVudENvdW50ID0gY291bnRQYXJlbnRTZWdtZW50cyhpbXBvcnRQYXRoKVxuICAgICAgICBpZiAocGFyZW50Q291bnQgPCAyKSByZXR1cm5cblxuICAgICAgICAvLyBDaGVjayBpZiB0YXJnZXRpbmcgYSBDYW5vbiB6b25lXG4gICAgICAgIGNvbnN0IHpvbmUgPSBnZXRUYXJnZXRab25lKGltcG9ydFBhdGgsIHpvbmVzKVxuICAgICAgICBpZiAoem9uZSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlSWQ6ICd1c2VBbGlhcycsXG4gICAgICAgICAgICBkYXRhOiB7IGFsaWFzLCB6b25lLCBpbXBvcnRQYXRoIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG59XG5cbmV4cG9ydCBkZWZhdWx0IHJ1bGVcbiJdfQ==
|
|
@@ -24,8 +24,8 @@ const rule = {
|
|
|
24
24
|
return {
|
|
25
25
|
JSXOpeningElement(node) {
|
|
26
26
|
const elementName = node.name?.name;
|
|
27
|
-
// Check <ul> tags
|
|
28
|
-
if (elementName === 'ul') {
|
|
27
|
+
// Check <ul> and <ol> tags
|
|
28
|
+
if (elementName === 'ul' || elementName === 'ol') {
|
|
29
29
|
context.report({
|
|
30
30
|
node,
|
|
31
31
|
messageId: 'useList',
|
|
@@ -45,4 +45,4 @@ const rule = {
|
|
|
45
45
|
},
|
|
46
46
|
};
|
|
47
47
|
export default rule;
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyLWxpc3QtY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lc2xpbnQvcnVsZXMvcHJlZmVyLWxpc3QtY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWhFLE1BQU0sU0FBUyxHQUFHLHdCQUF3QixDQUFBO0FBQzFDLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUUxQyxNQUFNLElBQUksR0FBb0I7SUFDNUIsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLFlBQVk7UUFDbEIsSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLElBQUksaUNBQWlDO1lBQ2xFLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLEdBQUcsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDO1NBQzVCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsT0FBTyxFQUFFLFVBQVUsT0FBTyxFQUFFLEVBQUUsSUFBSSxLQUFLLDRGQUE0RjtZQUNuSSxLQUFLLEVBQUUsVUFBVSxPQUFPLEVBQUUsRUFBRSxJQUFJLEtBQUssd0ZBQXdGO1NBQzlIO1FBQ0QsTUFBTSxFQUFFLEVBQUU7S0FDWDtJQUVELE1BQU0sQ0FBQyxPQUFPO1FBQ1osTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUE7UUFFMUQsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDbkMsT0FBTyxFQUFFLENBQUE7UUFDWCxDQUFDO1FBRUQsT0FBTztZQUNMLGlCQUFpQixDQUFDLElBQVM7Z0JBQ3pCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFBO2dCQUVuQywyQkFBMkI7Z0JBQzNCLElBQUksV0FBVyxLQUFLLElBQUksSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ2pELE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ2IsSUFBSTt3QkFDSixTQUFTLEVBQUUsU0FBUztxQkFDckIsQ0FBQyxDQUFBO29CQUNGLE9BQU07Z0JBQ1IsQ0FBQztnQkFFRCxrQkFBa0I7Z0JBQ2xCLElBQUksV0FBVyxLQUFLLElBQUksRUFBRSxDQUFDO29CQUN6QixPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNiLElBQUk7d0JBQ0osU0FBUyxFQUFFLE9BQU87cUJBQ25CLENBQUMsQ0FBQTtvQkFDRixPQUFNO2dCQUNSLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFBO0FBRUQsZUFBZSxJQUFJLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnXG5pbXBvcnQgeyBnZXRDYW5vblVybCwgZ2V0Q2Fub25QYXR0ZXJuIH0gZnJvbSAnLi4vdXRpbHMvY2Fub24uanMnXG5cbmNvbnN0IFJVTEVfTkFNRSA9ICdwcmVmZXItbGlzdC1jb21wb25lbnRzJ1xuY29uc3QgcGF0dGVybiA9IGdldENhbm9uUGF0dGVybihSVUxFX05BTUUpXG5cbmNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogcGF0dGVybj8uc3VtbWFyeSB8fCAnVXNlIExpc3QvTGksIG5vdCByYXcgdWwvbGkgdGFncycsXG4gICAgICByZWNvbW1lbmRlZDogdHJ1ZSxcbiAgICAgIHVybDogZ2V0Q2Fub25VcmwoUlVMRV9OQU1FKSxcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICB1c2VMaXN0OiBgW0Nhbm9uICR7cGF0dGVybj8uaWQgfHwgJzAyNid9XSBVc2UgdGhlIExpc3QgY29tcG9uZW50IGluc3RlYWQgb2YgPHVsPi4gSW1wb3J0OiBpbXBvcnQgeyBMaXN0IH0gZnJvbSBcIkAvY29tcG9uZW50cy9saXN0XCJgLFxuICAgICAgdXNlTGk6IGBbQ2Fub24gJHtwYXR0ZXJuPy5pZCB8fCAnMDI2J31dIFVzZSB0aGUgTGkgY29tcG9uZW50IGluc3RlYWQgb2YgPGxpPi4gSW1wb3J0OiBpbXBvcnQgeyBMaSB9IGZyb20gXCJAL2NvbXBvbmVudHMvbGlzdFwiYCxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBmaWxlbmFtZSA9IGNvbnRleHQuZmlsZW5hbWUgfHwgY29udGV4dC5nZXRGaWxlbmFtZSgpXG5cbiAgICAvLyBPbmx5IGFwcGx5IHRvIGJsb2NrIGZpbGVzXG4gICAgaWYgKCFmaWxlbmFtZS5pbmNsdWRlcygnL2Jsb2Nrcy8nKSkge1xuICAgICAgcmV0dXJuIHt9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIEpTWE9wZW5pbmdFbGVtZW50KG5vZGU6IGFueSkge1xuICAgICAgICBjb25zdCBlbGVtZW50TmFtZSA9IG5vZGUubmFtZT8ubmFtZVxuXG4gICAgICAgIC8vIENoZWNrIDx1bD4gYW5kIDxvbD4gdGFnc1xuICAgICAgICBpZiAoZWxlbWVudE5hbWUgPT09ICd1bCcgfHwgZWxlbWVudE5hbWUgPT09ICdvbCcpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZUlkOiAndXNlTGlzdCcsXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrIDxsaT4gdGFnc1xuICAgICAgICBpZiAoZWxlbWVudE5hbWUgPT09ICdsaScpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZUlkOiAndXNlTGknLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuXG5leHBvcnQgZGVmYXVsdCBydWxlXG4iXX0=
|
|
@@ -10,6 +10,7 @@ const rule = {
|
|
|
10
10
|
url: getCanonUrl(RULE_NAME),
|
|
11
11
|
},
|
|
12
12
|
messages: {
|
|
13
|
+
useHeading: `[Canon ${pattern?.id || '003'}] Use the Heading component instead of <{{tag}}>. Import: import { Heading } from "@/components/heading"`,
|
|
13
14
|
useParagraph: `[Canon ${pattern?.id || '003'}] Use the Paragraph component instead of <p>. Import: import { Paragraph } from "@/components/paragraph"`,
|
|
14
15
|
useSpan: `[Canon ${pattern?.id || '003'}] Use the Span component instead of <span> for text content. Import: import { Span } from "@/components/span"`,
|
|
15
16
|
useQuote: `[Canon ${pattern?.id || '003'}] Use the Quote component instead of <blockquote>. Import: import { Quote } from "@/components/quote"`,
|
|
@@ -88,6 +89,11 @@ const rule = {
|
|
|
88
89
|
return {
|
|
89
90
|
JSXOpeningElement(node) {
|
|
90
91
|
const elementName = node.name?.name;
|
|
92
|
+
// Check <h1>–<h6> tags
|
|
93
|
+
if (['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(elementName)) {
|
|
94
|
+
context.report({ node, messageId: 'useHeading', data: { tag: elementName } });
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
91
97
|
// Check <p> tags
|
|
92
98
|
if (elementName === 'p') {
|
|
93
99
|
context.report({
|
|
@@ -141,4 +147,4 @@ const rule = {
|
|
|
141
147
|
},
|
|
142
148
|
};
|
|
143
149
|
export default rule;
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyLXR5cG9ncmFwaHktY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lc2xpbnQvcnVsZXMvcHJlZmVyLXR5cG9ncmFwaHktY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWhFLE1BQU0sU0FBUyxHQUFHLDhCQUE4QixDQUFBO0FBQ2hELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUUxQyxNQUFNLElBQUksR0FBb0I7SUFDNUIsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLFlBQVk7UUFDbEIsSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLElBQUksa0NBQWtDO1lBQ25FLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLEdBQUcsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDO1NBQzVCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsWUFBWSxFQUFFLFVBQVUsT0FBTyxFQUFFLEVBQUUsSUFBSSxLQUFLLDBHQUEwRztZQUN0SixPQUFPLEVBQUUsVUFBVSxPQUFPLEVBQUUsRUFBRSxJQUFJLEtBQUssK0dBQStHO1lBQ3RKLFFBQVEsRUFBRSxVQUFVLE9BQU8sRUFBRSxFQUFFLElBQUksS0FBSyx1R0FBdUc7WUFDL0ksbUJBQW1CLEVBQUUsVUFBVSxPQUFPLEVBQUUsRUFBRSxJQUFJLEtBQUssb0dBQW9HO1NBQ3hKO1FBQ0QsTUFBTSxFQUFFLEVBQUU7S0FDWDtJQUVELE1BQU0sQ0FBQyxPQUFPO1FBQ1osTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUE7UUFFMUQsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDbkMsT0FBTyxF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QztvQkFDRCxPQUFNO2dCQUNSLENBQUM7Z0JBRUQsc0RBQXNEO2dCQUN0RCxJQUFJLFdBQVcsS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDMUIsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUN0QyxPQUFNO29CQUNSLENBQUM7b0JBRUQsTUFBTSxFQUFFLGNBQWMsRUFBRSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO29CQUVqRCxzRUFBc0U7b0JBQ3RFLG1FQUFtRTtvQkFDbkUsSUFBSSxjQUFjLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzt3QkFDakQsT0FBTyxDQUFDLE1BQU0sQ0FBQzs0QkFDYixJQUFJOzRCQUNKLFNBQVMsRUFBRSxxQkFBcUI7eUJBQ2pDLENBQUMsQ0FBQTtvQkFDSixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFBO0FBRUQsZUFBZSxJQUFJLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnXG5pbXBvcnQgeyBnZXRDYW5vblVybCwgZ2V0Q2Fub25QYXR0ZXJuIH0gZnJvbSAnLi4vdXRpbHMvY2Fub24uanMnXG5cbmNvbnN0IFJVTEVfTkFNRSA9ICdwcmVmZXItdHlwb2dyYXBoeS1jb21wb25lbnRzJ1xuY29uc3QgcGF0dGVybiA9IGdldENhbm9uUGF0dGVybihSVUxFX05BTUUpXG5cbmNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogcGF0dGVybj8uc3VtbWFyeSB8fCAnVXNlIFBhcmFncmFwaC9TcGFuLCBub3QgcmF3IHRhZ3MnLFxuICAgICAgcmVjb21tZW5kZWQ6IHRydWUsXG4gICAgICB1cmw6IGdldENhbm9uVXJsKFJVTEVfTkFNRSksXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgdXNlUGFyYWdyYXBoOiBgW0Nhbm9uICR7cGF0dGVybj8uaWQgfHwgJzAwMyd9XSBVc2UgdGhlIFBhcmFncmFwaCBjb21wb25lbnQgaW5zdGVhZCBvZiA8cD4uIEltcG9ydDogaW1wb3J0IHsgUGFyYWdyYXBoIH0gZnJvbSBcIkAvY29tcG9uZW50cy9wYXJhZ3JhcGhcImAsXG4gICAgICB1c2VTcGFuOiBgW0Nhbm9uICR7cGF0dGVybj8uaWQgfHwgJzAwMyd9XSBVc2UgdGhlIFNwYW4gY29tcG9uZW50IGluc3RlYWQgb2YgPHNwYW4+IGZvciB0ZXh0IGNvbnRlbnQuIEltcG9ydDogaW1wb3J0IHsgU3BhbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvc3BhblwiYCxcbiAgICAgIHVzZVF1b3RlOiBgW0Nhbm9uICR7cGF0dGVybj8uaWQgfHwgJzAwMyd9XSBVc2UgdGhlIFF1b3RlIGNvbXBvbmVudCBpbnN0ZWFkIG9mIDxibG9ja3F1b3RlPi4gSW1wb3J0OiBpbXBvcnQgeyBRdW90ZSB9IGZyb20gXCJAL2NvbXBvbmVudHMvcXVvdGVcImAsXG4gICAgICB1c2VUeXBvZ3JhcGh5Rm9yRGl2OiBgW0Nhbm9uICR7cGF0dGVybj8uaWQgfHwgJzAwMyd9XSBVc2UgYSB0eXBvZ3JhcGh5IGNvbXBvbmVudCAoSGVhZGluZywgUGFyYWdyYXBoLCBMYWJlbCwgZXRjLikgaW5zdGVhZCBvZiA8ZGl2PiB3aXRoIHRleHQgY29udGVudC5gLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IGZpbGVuYW1lID0gY29udGV4dC5maWxlbmFtZSB8fCBjb250ZXh0LmdldEZpbGVuYW1lKClcblxuICAgIC8vIE9ubHkgYXBwbHkgdG8gYmxvY2sgZmlsZXNcbiAgICBpZiAoIWZpbGVuYW1lLmluY2x1ZGVzKCcvYmxvY2tzLycpKSB7XG4gICAgICByZXR1cm4ge31cbiAgICB9XG5cbiAgICBjb25zdCB0eXBvZ3JhcGh5Q29tcG9uZW50cyA9IFsnSGVhZGluZycsICdQYXJhZ3JhcGgnLCAnTGFiZWwnLCAnU3BhbicsICdRdW90ZScsICdTdWJoZWFkaW5nJywgJ0FjY2VudCddXG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBlbGVtZW50IGlzIGluc2lkZSBhIHR5cG9ncmFwaHkgY29tcG9uZW50XG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNJbnNpZGVUeXBvZ3JhcGh5Q29tcG9uZW50KG5vZGU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgbGV0IHBhcmVudCA9IG5vZGUucGFyZW50XG4gICAgICB3aGlsZSAocGFyZW50KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBwYXJlbnQudHlwZSA9PT0gJ0pTWEVsZW1lbnQnICYmXG4gICAgICAgICAgcGFyZW50Lm9wZW5pbmdFbGVtZW50Py5uYW1lPy5uYW1lICYmXG4gICAgICAgICAgdHlwb2dyYXBoeUNvbXBvbmVudHMuaW5jbHVkZXMocGFyZW50Lm9wZW5pbmdFbGVtZW50Lm5hbWUubmFtZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuICAgICAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBlbGVtZW50IGhhcyBkaXJlY3QgdGV4dCBjb250ZW50XG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzRGlyZWN0VGV4dENvbnRlbnQobm9kZTogYW55KTogYm9vbGVhbiB7XG4gICAgICBjb25zdCBqc3hFbGVtZW50ID0gbm9kZS5wYXJlbnRcbiAgICAgIGlmIChqc3hFbGVtZW50Py50eXBlICE9PSAnSlNYRWxlbWVudCcpIHJldHVybiBmYWxzZVxuXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGpzeEVsZW1lbnQuY2hpbGRyZW4gfHwgW11cbiAgICAgIHJldHVybiBjaGlsZHJlbi5zb21lKChjaGlsZDogYW55KSA9PiB7XG4gICAgICAgIC8vIENoZWNrIGZvciBkaXJlY3QgdGV4dCBjb250ZW50XG4gICAgICAgIGlmIChjaGlsZC50eXBlID09PSAnSlNYVGV4dCcpIHtcbiAgICAgICAgICByZXR1cm4gY2hpbGQudmFsdWUudHJpbSgpLmxlbmd0aCA+IDBcbiAgICAgICAgfVxuICAgICAgICAvLyBDaGVjayBmb3IgZXhwcmVzc2lvbiB3aXRoIGxpdGVyYWwgc3RyaW5nXG4gICAgICAgIGlmIChjaGlsZC50eXBlID09PSAnSlNYRXhwcmVzc2lvbkNvbnRhaW5lcicgJiYgY2hpbGQuZXhwcmVzc2lvbj8udHlwZSA9PT0gJ0xpdGVyYWwnKSB7XG4gICAgICAgICAgcmV0dXJuIHR5cGVvZiBjaGlsZC5leHByZXNzaW9uLnZhbHVlID09PSAnc3RyaW5nJyAmJiBjaGlsZC5leHByZXNzaW9uLnZhbHVlLnRyaW0oKS5sZW5ndGggPiAwXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGNsYXNzTmFtZSBmb3Igc3BlY2lmaWMgcGF0dGVybnNcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRDbGFzc05hbWVJbmZvKG5vZGU6IGFueSk6IHsgaXNHcmFkaWVudFRleHQ6IGJvb2xlYW47IGlzVmlzdWFsRWxlbWVudDogYm9vbGVhbjsgaGFzVGV4dENsYXNzZXM6IGJvb2xlYW4gfSB7XG4gICAgICBsZXQgaXNHcmFkaWVudFRleHQgPSBmYWxzZVxuICAgICAgbGV0IGlzVmlzdWFsRWxlbWVudCA9IGZhbHNlXG4gICAgICBsZXQgaGFzVGV4dENsYXNzZXMgPSBmYWxzZVxuXG4gICAgICBub2RlLmF0dHJpYnV0ZXM/LmZvckVhY2goKGF0dHI6IGFueSkgPT4ge1xuICAgICAgICBpZiAoYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWU/Lm5hbWUgPT09ICdjbGFzc05hbWUnKSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBhdHRyLnZhbHVlPy52YWx1ZSB8fCAnJ1xuICAgICAgICAgIC8vIFNraXAgZ3JhZGllbnQgdGV4dCAoYmctY2xpcC10ZXh0IGlzIHVzZWQgZm9yIGdyYWRpZW50IHRleHQgZWZmZWN0cylcbiAgICAgICAgICBpZiAoL1xcYmJnLWNsaXAtdGV4dFxcYi8udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGlzR3JhZGllbnRUZXh0ID0gdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBWaXN1YWwgZWxlbWVudHMgKGRvdHMsIGRlY29yYXRpdmUgZWxlbWVudHMgd2l0aCB3LS9oLSBidXQgbm8gdGV4dCBjbGFzc2VzKVxuICAgICAgICAgIGlmICgvXFxiKHctXFxkfGgtXFxkfHJvdW5kZWQtZnVsbClcXGIvLnRlc3QodmFsdWUpICYmICEvXFxidGV4dC0vLnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICBpc1Zpc3VhbEVsZW1lbnQgPSB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEhhcyB0ZXh0LXJlbGF0ZWQgY2xhc3Nlc1xuICAgICAgICAgIGlmICgvXFxiKHRleHQtfGZvbnQtfGxlYWRpbmctfHRyYWNraW5nLSkvLnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICBoYXNUZXh0Q2xhc3NlcyA9IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiB7IGlzR3JhZGllbnRUZXh0LCBpc1Zpc3VhbEVsZW1lbnQsIGhhc1RleHRDbGFzc2VzIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgSlNYT3BlbmluZ0VsZW1lbnQobm9kZTogYW55KSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnROYW1lID0gbm9kZS5uYW1lPy5uYW1lXG5cbiAgICAgICAgLy8gQ2hlY2sgPHA+IHRhZ3NcbiAgICAgICAgaWYgKGVsZW1lbnROYW1lID09PSAncCcpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZUlkOiAndXNlUGFyYWdyYXBoJyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2sgPGJsb2NrcXVvdGU+IHRhZ3NcbiAgICAgICAgaWYgKGVsZW1lbnROYW1lID09PSAnYmxvY2txdW90ZScpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZUlkOiAndXNlUXVvdGUnLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayA8c3Bhbj4gdGFnc1xuICAgICAgICBpZiAoZWxlbWVudE5hbWUgPT09ICdzcGFuJykge1xuICAgICAgICAgIGlmIChpc0luc2lkZVR5cG9ncmFwaHlDb21wb25lbnQobm9kZSkpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHsgaXNHcmFkaWVudFRleHQsIGlzVmlzdWFsRWxlbWVudCB9ID0gZ2V0Q2xhc3NOYW1lSW5mbyhub2RlKVxuXG4gICAgICAgICAgaWYgKGlzR3JhZGllbnRUZXh0IHx8IGlzVmlzdWFsRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGhhc0RpcmVjdFRleHRDb250ZW50KG5vZGUpKSB7XG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgIG1lc3NhZ2VJZDogJ3VzZVNwYW4nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayA8ZGl2PiB0YWdzIHdpdGggdGV4dCBjb250ZW50IGFuZCB0ZXh0IHN0eWxpbmdcbiAgICAgICAgaWYgKGVsZW1lbnROYW1lID09PSAnZGl2Jykge1xuICAgICAgICAgIGlmIChpc0luc2lkZVR5cG9ncmFwaHlDb21wb25lbnQobm9kZSkpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHsgaGFzVGV4dENsYXNzZXMgfSA9IGdldENsYXNzTmFtZUluZm8obm9kZSlcblxuICAgICAgICAgIC8vIE9ubHkgZmxhZyBkaXZzIHRoYXQgaGF2ZSBib3RoIHRleHQgY29udGVudCBBTkQgdGV4dC1yZWxhdGVkIGNsYXNzZXNcbiAgICAgICAgICAvLyBUaGlzIGluZGljYXRlcyBpdCdzIGJlaW5nIHVzZWQgZm9yIHR5cG9ncmFwaHkgcmF0aGVyIHRoYW4gbGF5b3V0XG4gICAgICAgICAgaWYgKGhhc1RleHRDbGFzc2VzICYmIGhhc0RpcmVjdFRleHRDb250ZW50KG5vZGUpKSB7XG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgIG1lc3NhZ2VJZDogJ3VzZVR5cG9ncmFwaHlGb3JEaXYnLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuXG5leHBvcnQgZGVmYXVsdCBydWxlXG4iXX0=
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyLXR5cG9ncmFwaHktY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lc2xpbnQvcnVsZXMvcHJlZmVyLXR5cG9ncmFwaHktY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWhFLE1BQU0sU0FBUyxHQUFHLDhCQUE4QixDQUFBO0FBQ2hELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUUxQyxNQUFNLElBQUksR0FBb0I7SUFDNUIsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLFlBQVk7UUFDbEIsSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLElBQUksa0NBQWtDO1lBQ25FLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLEdBQUcsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDO1NBQzVCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsVUFBVSxFQUFFLFVBQVUsT0FBTyxFQUFFLEVBQUUsSUFBSSxLQUFLLDBHQUEwRztZQUNwSixZQUFZLEVBQUUsVUFBVSxPQUFPLEVBQUUsRUFBRSxJQUFJLEtBQUssMEdBQTBHO1lBQ3RKLE9BQU8sRUFBRSxVQUFVLE9BQU8sRUFBRSxFQUFFLElBQUksS0FBSywrR0FBK0c7WUFDdEosUUFBUSxFQUFFLFVBQVUsT0FBTyxFQUFFLEVBQUUsSUFBSSxLQUFLLHVHQUF1RztZQUMvSSxtQkFBbUIsRUFBRSxVQUFVLE9BQU8sRUFBRSxFQUFFLElBQUksS0FBSyxvR0FBb0c7U0FDeEo7UUFDRCxNQUFNLEVBQUUsRUFBRTtLQUNYO0lBRUQsTUFBTSxDQUFDLE9BQU87UUFDWixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUUxRCw0QkFBNEI7UUFDNUIsSUFBSSxDQUFD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SSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUN0QyxPQUFNO29CQUNSLENBQUM7b0JBRUQsTUFBTSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtvQkFFbEUsSUFBSSxjQUFjLElBQUksZUFBZSxFQUFFLENBQUM7d0JBQ3RDLE9BQU07b0JBQ1IsQ0FBQztvQkFFRCxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQy9CLE9BQU8sQ0FBQyxNQUFNLENBQUM7NEJBQ2IsSUFBSTs0QkFDSixTQUFTLEVBQUUsU0FBUzt5QkFDckIsQ0FBQyxDQUFBO29CQUNKLENBQUM7b0JBQ0QsT0FBTTtnQkFDUixDQUFDO2dCQUVELHNEQUFzRDtnQkFDdEQsSUFBSSxXQUFXLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQzFCLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzt3QkFDdEMsT0FBTTtvQkFDUixDQUFDO29CQUVELE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtvQkFFakQsc0VBQXNFO29CQUN0RSxtRUFBbUU7b0JBQ25FLElBQUksY0FBYyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQ2pELE9BQU8sQ0FBQyxNQUFNLENBQUM7NEJBQ2IsSUFBSTs0QkFDSixTQUFTLEVBQUUscUJBQXFCO3lCQUNqQyxDQUFDLENBQUE7b0JBQ0osQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQUVELGVBQWUsSUFBSSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSAnZXNsaW50J1xuaW1wb3J0IHsgZ2V0Q2Fub25VcmwsIGdldENhbm9uUGF0dGVybiB9IGZyb20gJy4uL3V0aWxzL2Nhbm9uLmpzJ1xuXG5jb25zdCBSVUxFX05BTUUgPSAncHJlZmVyLXR5cG9ncmFwaHktY29tcG9uZW50cydcbmNvbnN0IHBhdHRlcm4gPSBnZXRDYW5vblBhdHRlcm4oUlVMRV9OQU1FKVxuXG5jb25zdCBydWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246IHBhdHRlcm4/LnN1bW1hcnkgfHwgJ1VzZSBQYXJhZ3JhcGgvU3Bhbiwgbm90IHJhdyB0YWdzJyxcbiAgICAgIHJlY29tbWVuZGVkOiB0cnVlLFxuICAgICAgdXJsOiBnZXRDYW5vblVybChSVUxFX05BTUUpLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIHVzZUhlYWRpbmc6IGBbQ2Fub24gJHtwYXR0ZXJuPy5pZCB8fCAnMDAzJ31dIFVzZSB0aGUgSGVhZGluZyBjb21wb25lbnQgaW5zdGVhZCBvZiA8e3t0YWd9fT4uIEltcG9ydDogaW1wb3J0IHsgSGVhZGluZyB9IGZyb20gXCJAL2NvbXBvbmVudHMvaGVhZGluZ1wiYCxcbiAgICAgIHVzZVBhcmFncmFwaDogYFtDYW5vbiAke3BhdHRlcm4/LmlkIHx8ICcwMDMnfV0gVXNlIHRoZSBQYXJhZ3JhcGggY29tcG9uZW50IGluc3RlYWQgb2YgPHA+LiBJbXBvcnQ6IGltcG9ydCB7IFBhcmFncmFwaCB9IGZyb20gXCJAL2NvbXBvbmVudHMvcGFyYWdyYXBoXCJgLFxuICAgICAgdXNlU3BhbjogYFtDYW5vbiAke3BhdHRlcm4/LmlkIHx8ICcwMDMnfV0gVXNlIHRoZSBTcGFuIGNvbXBvbmVudCBpbnN0ZWFkIG9mIDxzcGFuPiBmb3IgdGV4dCBjb250ZW50LiBJbXBvcnQ6IGltcG9ydCB7IFNwYW4gfSBmcm9tIFwiQC9jb21wb25lbnRzL3NwYW5cImAsXG4gICAgICB1c2VRdW90ZTogYFtDYW5vbiAke3BhdHRlcm4/LmlkIHx8ICcwMDMnfV0gVXNlIHRoZSBRdW90ZSBjb21wb25lbnQgaW5zdGVhZCBvZiA8YmxvY2txdW90ZT4uIEltcG9ydDogaW1wb3J0IHsgUXVvdGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3F1b3RlXCJgLFxuICAgICAgdXNlVHlwb2dyYXBoeUZvckRpdjogYFtDYW5vbiAke3BhdHRlcm4/LmlkIHx8ICcwMDMnfV0gVXNlIGEgdHlwb2dyYXBoeSBjb21wb25lbnQgKEhlYWRpbmcsIFBhcmFncmFwaCwgTGFiZWwsIGV0Yy4pIGluc3RlYWQgb2YgPGRpdj4gd2l0aCB0ZXh0IGNvbnRlbnQuYCxcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gIH0sXG5cbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBmaWxlbmFtZSA9IGNvbnRleHQuZmlsZW5hbWUgfHwgY29udGV4dC5nZXRGaWxlbmFtZSgpXG5cbiAgICAvLyBPbmx5IGFwcGx5IHRvIGJsb2NrIGZpbGVzXG4gICAgaWYgKCFmaWxlbmFtZS5pbmNsdWRlcygnL2Jsb2Nrcy8nKSkge1xuICAgICAgcmV0dXJuIHt9XG4gICAgfVxuXG4gICAgY29uc3QgdHlwb2dyYXBoeUNvbXBvbmVudHMgPSBbJ0hlYWRpbmcnLCAnUGFyYWdyYXBoJywgJ0xhYmVsJywgJ1NwYW4nLCAnUXVvdGUnLCAnU3ViaGVhZGluZycsICdBY2NlbnQnXVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgZWxlbWVudCBpcyBpbnNpZGUgYSB0eXBvZ3JhcGh5IGNvbXBvbmVudFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzSW5zaWRlVHlwb2dyYXBoeUNvbXBvbmVudChub2RlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgIGxldCBwYXJlbnQgPSBub2RlLnBhcmVudFxuICAgICAgd2hpbGUgKHBhcmVudCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcGFyZW50LnR5cGUgPT09ICdKU1hFbGVtZW50JyAmJlxuICAgICAgICAgIHBhcmVudC5vcGVuaW5nRWxlbWVudD8ubmFtZT8ubmFtZSAmJlxuICAgICAgICAgIHR5cG9ncmFwaHlDb21wb25lbnRzLmluY2x1ZGVzKHBhcmVudC5vcGVuaW5nRWxlbWVudC5uYW1lLm5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudFxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgZWxlbWVudCBoYXMgZGlyZWN0IHRleHQgY29udGVudFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhc0RpcmVjdFRleHRDb250ZW50KG5vZGU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgY29uc3QganN4RWxlbWVudCA9IG5vZGUucGFyZW50XG4gICAgICBpZiAoanN4RWxlbWVudD8udHlwZSAhPT0gJ0pTWEVsZW1lbnQnKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgY2hpbGRyZW4gPSBqc3hFbGVtZW50LmNoaWxkcmVuIHx8IFtdXG4gICAgICByZXR1cm4gY2hpbGRyZW4uc29tZSgoY2hpbGQ6IGFueSkgPT4ge1xuICAgICAgICAvLyBDaGVjayBmb3IgZGlyZWN0IHRleHQgY29udGVudFxuICAgICAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ0pTWFRleHQnKSB7XG4gICAgICAgICAgcmV0dXJuIGNoaWxkLnZhbHVlLnRyaW0oKS5sZW5ndGggPiAwXG4gICAgICAgIH1cbiAgICAgICAgLy8gQ2hlY2sgZm9yIGV4cHJlc3Npb24gd2l0aCBsaXRlcmFsIHN0cmluZ1xuICAgICAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ0pTWEV4cHJlc3Npb25Db250YWluZXInICYmIGNoaWxkLmV4cHJlc3Npb24/LnR5cGUgPT09ICdMaXRlcmFsJykge1xuICAgICAgICAgIHJldHVybiB0eXBlb2YgY2hpbGQuZXhwcmVzc2lvbi52YWx1ZSA9PT0gJ3N0cmluZycgJiYgY2hpbGQuZXhwcmVzc2lvbi52YWx1ZS50cmltKCkubGVuZ3RoID4gMFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBjbGFzc05hbWUgZm9yIHNwZWNpZmljIHBhdHRlcm5zXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0Q2xhc3NOYW1lSW5mbyhub2RlOiBhbnkpOiB7IGlzR3JhZGllbnRUZXh0OiBib29sZWFuOyBpc1Zpc3VhbEVsZW1lbnQ6IGJvb2xlYW47IGhhc1RleHRDbGFzc2VzOiBib29sZWFuIH0ge1xuICAgICAgbGV0IGlzR3JhZGllbnRUZXh0ID0gZmFsc2VcbiAgICAgIGxldCBpc1Zpc3VhbEVsZW1lbnQgPSBmYWxzZVxuICAgICAgbGV0IGhhc1RleHRDbGFzc2VzID0gZmFsc2VcblxuICAgICAgbm9kZS5hdHRyaWJ1dGVzPy5mb3JFYWNoKChhdHRyOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGF0dHIudHlwZSA9PT0gJ0pTWEF0dHJpYnV0ZScgJiYgYXR0ci5uYW1lPy5uYW1lID09PSAnY2xhc3NOYW1lJykge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gYXR0ci52YWx1ZT8udmFsdWUgfHwgJydcbiAgICAgICAgICAvLyBTa2lwIGdyYWRpZW50IHRleHQgKGJnLWNsaXAtdGV4dCBpcyB1c2VkIGZvciBncmFkaWVudCB0ZXh0IGVmZmVjdHMpXG4gICAgICAgICAgaWYgKC9cXGJiZy1jbGlwLXRleHRcXGIvLnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICBpc0dyYWRpZW50VGV4dCA9IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gVmlzdWFsIGVsZW1lbnRzIChkb3RzLCBkZWNvcmF0aXZlIGVsZW1lbnRzIHdpdGggdy0vaC0gYnV0IG5vIHRleHQgY2xhc3NlcylcbiAgICAgICAgICBpZiAoL1xcYih3LVxcZHxoLVxcZHxyb3VuZGVkLWZ1bGwpXFxiLy50ZXN0KHZhbHVlKSAmJiAhL1xcYnRleHQtLy50ZXN0KHZhbHVlKSkge1xuICAgICAgICAgICAgaXNWaXN1YWxFbGVtZW50ID0gdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBIYXMgdGV4dC1yZWxhdGVkIGNsYXNzZXNcbiAgICAgICAgICBpZiAoL1xcYih0ZXh0LXxmb250LXxsZWFkaW5nLXx0cmFja2luZy0pLy50ZXN0KHZhbHVlKSkge1xuICAgICAgICAgICAgaGFzVGV4dENsYXNzZXMgPSB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICByZXR1cm4geyBpc0dyYWRpZW50VGV4dCwgaXNWaXN1YWxFbGVtZW50LCBoYXNUZXh0Q2xhc3NlcyB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIEpTWE9wZW5pbmdFbGVtZW50KG5vZGU6IGFueSkge1xuICAgICAgICBjb25zdCBlbGVtZW50TmFtZSA9IG5vZGUubmFtZT8ubmFtZVxuXG4gICAgICAgIC8vIENoZWNrIDxoMT7igJM8aDY+IHRhZ3NcbiAgICAgICAgaWYgKFsnaDEnLCAnaDInLCAnaDMnLCAnaDQnLCAnaDUnLCAnaDYnXS5pbmNsdWRlcyhlbGVtZW50TmFtZSkpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2VJZDogJ3VzZUhlYWRpbmcnLCBkYXRhOiB7IHRhZzogZWxlbWVudE5hbWUgfSB9KVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2sgPHA+IHRhZ3NcbiAgICAgICAgaWYgKGVsZW1lbnROYW1lID09PSAncCcpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZUlkOiAndXNlUGFyYWdyYXBoJyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2sgPGJsb2NrcXVvdGU+IHRhZ3NcbiAgICAgICAgaWYgKGVsZW1lbnROYW1lID09PSAnYmxvY2txdW90ZScpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZUlkOiAndXNlUXVvdGUnLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayA8c3Bhbj4gdGFnc1xuICAgICAgICBpZiAoZWxlbWVudE5hbWUgPT09ICdzcGFuJykge1xuICAgICAgICAgIGlmIChpc0luc2lkZVR5cG9ncmFwaHlDb21wb25lbnQobm9kZSkpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHsgaXNHcmFkaWVudFRleHQsIGlzVmlzdWFsRWxlbWVudCB9ID0gZ2V0Q2xhc3NOYW1lSW5mbyhub2RlKVxuXG4gICAgICAgICAgaWYgKGlzR3JhZGllbnRUZXh0IHx8IGlzVmlzdWFsRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGhhc0RpcmVjdFRleHRDb250ZW50KG5vZGUpKSB7XG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgIG1lc3NhZ2VJZDogJ3VzZVNwYW4nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayA8ZGl2PiB0YWdzIHdpdGggdGV4dCBjb250ZW50IGFuZCB0ZXh0IHN0eWxpbmdcbiAgICAgICAgaWYgKGVsZW1lbnROYW1lID09PSAnZGl2Jykge1xuICAgICAgICAgIGlmIChpc0luc2lkZVR5cG9ncmFwaHlDb21wb25lbnQobm9kZSkpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHsgaGFzVGV4dENsYXNzZXMgfSA9IGdldENsYXNzTmFtZUluZm8obm9kZSlcblxuICAgICAgICAgIC8vIE9ubHkgZmxhZyBkaXZzIHRoYXQgaGF2ZSBib3RoIHRleHQgY29udGVudCBBTkQgdGV4dC1yZWxhdGVkIGNsYXNzZXNcbiAgICAgICAgICAvLyBUaGlzIGluZGljYXRlcyBpdCdzIGJlaW5nIHVzZWQgZm9yIHR5cG9ncmFwaHkgcmF0aGVyIHRoYW4gbGF5b3V0XG4gICAgICAgICAgaWYgKGhhc1RleHRDbGFzc2VzICYmIGhhc0RpcmVjdFRleHRDb250ZW50KG5vZGUpKSB7XG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgIG1lc3NhZ2VJZDogJ3VzZVR5cG9ncmFwaHlGb3JEaXYnLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfVxuICB9LFxufVxuXG5leHBvcnQgZGVmYXVsdCBydWxlXG4iXX0=
|
|
@@ -21,6 +21,10 @@ const REQUIRED_SCRIPTS = {
|
|
|
21
21
|
contains: 'eslint',
|
|
22
22
|
definition: '"lint": "eslint src/"',
|
|
23
23
|
},
|
|
24
|
+
'lint:gallop': {
|
|
25
|
+
contains: 'eslint src/blocks/',
|
|
26
|
+
definition: `"lint:gallop": "eslint src/blocks/ --rule 'gallop/no-client-blocks: warn' --rule 'gallop/no-container-in-section: warn' --rule 'gallop/prefer-component-props: warn'"`,
|
|
27
|
+
},
|
|
24
28
|
ts: {
|
|
25
29
|
contains: 'tsc',
|
|
26
30
|
definition: '"ts": "tsc --noEmit"',
|
|
@@ -133,4 +137,4 @@ export function resetReported() {
|
|
|
133
137
|
hasReported = false;
|
|
134
138
|
}
|
|
135
139
|
export default rule;
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZS1jYW5vbi1zZXR1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lc2xpbnQvcnVsZXMvcmVxdWlyZS1jYW5vbi1zZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQTtBQUN4QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWhFLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFBO0FBQ3ZDLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUUxQyxvREFBb0Q7QUFDcEQsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFBO0FBRXZCLDRCQUE0QjtBQUM1QixNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBTSxFQUFFLHdCQUF3QixDQUFDLENBQUE7QUFFaEUsdUhBQXVIO0FBQ3ZILE1BQU0sZ0JBQWdCLEdBQTZEO0lBQ2pGLE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFVBQVUsRUFBRSxrQkFBa0I7S0FDL0I7SUFDRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUUsU0FBUztRQUNuQixVQUFVLEVBQUUseURBQXlEO0tBQ3RFO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLFFBQVE7UUFDbEIsVUFBVSxFQUFFLHVCQUF1QjtLQUNwQztJQUNELEVBQUUsRUFBRTtRQUNGLFFBQVEsRUFBRSxLQUFLO1FBQ2YsVUFBVSxFQUFFLHNCQUFzQjtLQUNuQztJQUNELEtBQUssRUFBRTtRQUNMLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLFVBQVUsRUFBRSx5QkFBeUI7S0FDdEM7SUFDRCxjQUFjLEVBQUU7UUFDZCxRQUFRLEVBQUUsY0FBYztRQUN4QixVQUFVLEVBQUUseUNBQXlDO0tBQ3REO0lBQ0QsWUFBWSxFQUFFO1FB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QVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO3dCQUN0RixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7NEJBQ3pCLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0NBQ2IsSUFBSTtnQ0FDSixTQUFTLEVBQUUsZUFBZTtnQ0FDMUIsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7NkJBQ3pDLENBQUMsQ0FBQTt3QkFDSixDQUFDOzZCQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7NEJBQ25ELE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0NBQ2IsSUFBSTtnQ0FDSixTQUFTLEVBQUUsZUFBZTtnQ0FDMUIsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTs2QkFDN0QsQ0FBQyxDQUFBO3dCQUNKLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUFDLE1BQU0sQ0FBQztvQkFDUCxzQkFBc0I7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFBO0FBRUQsOERBQThEO0FBQzlELE1BQU0sVUFBVSxhQUFhO0lBQzNCLFdBQVcsR0FBRyxLQUFLLENBQUE7QUFDckIsQ0FBQztBQUVELGVBQWUsSUFBSSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSAnZXNsaW50J1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgeyBnZXRDYW5vblVybCwgZ2V0Q2Fub25QYXR0ZXJuIH0gZnJvbSAnLi4vdXRpbHMvY2Fub24uanMnXG5cbmNvbnN0IFJVTEVfTkFNRSA9ICdyZXF1aXJlLWNhbm9uLXNldHVwJ1xuY29uc3QgcGF0dGVybiA9IGdldENhbm9uUGF0dGVybihSVUxFX05BTUUpXG5cbi8vIFRyYWNrIGlmIHdlJ3ZlIGFscmVhZHkgcmVwb3J0ZWQgZm9yIHRoaXMgbGludCBydW5cbmxldCBoYXNSZXBvcnRlZCA9IGZhbHNlXG5cbi8vIFJlcXVpcmVkIGRldiBkZXBlbmRlbmNpZXNcbmNvbnN0IFJFUVVJUkVEX0RFUEVOREVOQ0lFUyA9IFsna25pcCcsICdAZ2FsbG9wLnNvZnR3YXJlL2Nhbm9uJ11cblxuLy8gUmVxdWlyZWQgbnBtIHNjcmlwdHMgKGtleSA9IHNjcmlwdCBuYW1lLCB2YWx1ZSA9IHsgY29udGFpbnM6IHN0cmluZyB0byBjaGVjayBmb3IsIGRlZmluaXRpb246IGV4YWN0IHNjcmlwdCB0byBhZGQgfSlcbmNvbnN0IFJFUVVJUkVEX1NDUklQVFM6IFJlY29yZDxzdHJpbmcsIHsgY29udGFpbnM6IHN0cmluZzsgZGVmaW5pdGlvbjogc3RyaW5nIH0+ID0ge1xuICB1bnVzZWQ6IHtcbiAgICBjb250YWluczogJ2tuaXAnLFxuICAgIGRlZmluaXRpb246ICdcInVudXNlZFwiOiBcImtuaXBcIicsXG4gIH0sXG4gIGNoZWNrOiB7XG4gICAgY29udGFpbnM6ICducG0gcnVuJyxcbiAgICBkZWZpbml0aW9uOiAnXCJjaGVja1wiOiBcIm5wbSBydW4gbGludCAmJiBucG0gcnVuIHRzICYmIG5wbSBydW4gdW51c2VkXCInLFxuICB9LFxuICBsaW50OiB7XG4gICAgY29udGFpbnM6ICdlc2xpbnQnLFxuICAgIGRlZmluaXRpb246ICdcImxpbnRcIjogXCJlc2xpbnQgc3JjL1wiJyxcbiAgfSxcbiAgdHM6IHtcbiAgICBjb250YWluczogJ3RzYycsXG4gICAgZGVmaW5pdGlvbjogJ1widHNcIjogXCJ0c2MgLS1ub0VtaXRcIicsXG4gIH0sXG4gIGF1ZGl0OiB7XG4gICAgY29udGFpbnM6ICdnYWxsb3AgYXVkaXQnLFxuICAgIGRlZmluaXRpb246ICdcImF1ZGl0XCI6IFwiZ2FsbG9wIGF1ZGl0XCInLFxuICB9LFxuICAnYXVkaXQ6c3RyaWN0Jzoge1xuICAgIGNvbnRhaW5zOiAnZ2FsbG9wIGF1ZGl0JyxcbiAgICBkZWZpbml0aW9uOiAnXCJhdWRpdDpzdHJpY3RcIjogXCJnYWxsb3AgYXVkaXQgLS1zdHJpY3RcIicsXG4gIH0sXG4gICdhdWRpdDpqc29uJzoge1xuICAgIGNvbnRhaW5zOiAnZ2FsbG9wIGF1ZGl0JyxcbiAgICBkZWZpbml0aW9uOiAnXCJhdWRpdDpqc29uXCI6IFwiZ2FsbG9wIGF1ZGl0IC0tanNvblwiJyxcbiAgfSxcbiAgJ2dlbmVyYXRlOmFpLXJ1bGVzJzoge1xuICAgIGNvbnRhaW5zOiAnZ2FsbG9wIGdlbmVyYXRlJyxcbiAgICBkZWZpbml0aW9uOiAnXCJnZW5lcmF0ZTphaS1ydWxlc1wiOiBcImdhbGxvcCBnZW5lcmF0ZSAuY3Vyc29ycnVsZXMgJiYgZ2FsbG9wIGdlbmVyYXRlIC5naXRodWIvY29waWxvdC1pbnN0cnVjdGlvbnMubWRcIicsXG4gIH0sXG4gICd1cGRhdGU6Y2Fub24nOiB7XG4gICAgY29udGFpbnM6ICdAZ2FsbG9wLnNvZnR3YXJlL2Nhbm9uJyxcbiAgICBkZWZpbml0aW9uOiAnXCJ1cGRhdGU6Y2Fub25cIjogXCJucG0gdXBkYXRlIEBnYWxsb3Auc29mdHdhcmUvY2Fub25cIicsXG4gIH0sXG59XG5cbmNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogcGF0dGVybj8uc3VtbWFyeSB8fCAnUmVxdWlyZSBDYW5vbiBzZXR1cCBpbiBwYWNrYWdlLmpzb24nLFxuICAgICAgcmVjb21tZW5kZWQ6IHRydWUsXG4gICAgICB1cmw6IGdldENhbm9uVXJsKFJVTEVfTkFNRSksXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgbWlzc2luZ0RlcGVuZGVuY3k6IGBbQ2Fub25dIE1pc3NpbmcgcmVxdWlyZWQgZGVwZW5kZW5jeTogXCJ7e2RlcH19XCIuIFJ1bjogbnBtIGluc3RhbGwgLUQge3tkZXB9fWAsXG4gICAgICBtaXNzaW5nU2NyaXB0OiBgW0Nhbm9uXSBNaXNzaW5nIHJlcXVpcmVkIG5wbSBzY3JpcHQgXCJ7e3NjcmlwdH19XCIuIEFkZCB0byBwYWNrYWdlLmpzb24gc2NyaXB0czoge3tkZWZpbml0aW9ufX1gLFxuICAgICAgaW52YWxpZFNjcmlwdDogYFtDYW5vbl0gU2NyaXB0IFwie3tzY3JpcHR9fVwiIHNob3VsZCBjb250YWluIFwie3tleHBlY3RlZH19XCIuIEV4cGVjdGVkOiB7e2RlZmluaXRpb259fWAsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICB9LFxuXG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgLy8gT25seSBjaGVjayBvbmNlIHBlciBsaW50IHJ1biwgb24gdGhlIGZpcnN0IGZpbGVcbiAgICBpZiAoaGFzUmVwb3J0ZWQpIHtcbiAgICAgIHJldHVybiB7fVxuICAgIH1cblxuICAgIC8vIEZpbmQgdGhlIHByb2plY3Qgcm9vdCAod2hlcmUgcGFja2FnZS5qc29uIGlzKVxuICAgIGNvbnN0IGZpbGVuYW1lID0gY29udGV4dC5maWxlbmFtZSB8fCBjb250ZXh0LmdldEZpbGVuYW1lKClcbiAgICBsZXQgZGlyID0gcGF0aC5kaXJuYW1lKGZpbGVuYW1lKVxuICAgIGxldCBwYWNrYWdlSnNvblBhdGggPSAnJ1xuICAgIFxuICAgIC8vIFdhbGsgdXAgdG8gZmluZCBwYWNrYWdlLmpzb25cbiAgICB3aGlsZSAoZGlyICE9PSBwYXRoLmRpcm5hbWUoZGlyKSkge1xuICAgICAgY29uc3QgY2FuZGlkYXRlID0gcGF0aC5qb2luKGRpciwgJ3BhY2thZ2UuanNvbicpXG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhjYW5kaWRhdGUpKSB7XG4gICAgICAgIHBhY2thZ2VKc29uUGF0aCA9IGNhbmRpZGF0ZVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgZGlyID0gcGF0aC5kaXJuYW1lKGRpcilcbiAgICB9XG5cbiAgICBpZiAoIXBhY2thZ2VKc29uUGF0aCkge1xuICAgICAgcmV0dXJuIHt9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIFByb2dyYW0obm9kZSkge1xuICAgICAgICBpZiAoaGFzUmVwb3J0ZWQpIHJldHVyblxuICAgICAgICBoYXNSZXBvcnRlZCA9IHRydWVcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHBhY2thZ2VKc29uID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGFja2FnZUpzb25QYXRoLCAndXRmOCcpKVxuICAgICAgICAgIGNvbnN0IGRldkRlcHMgPSBwYWNrYWdlSnNvbi5kZXZEZXBlbmRlbmNpZXMgfHwge31cbiAgICAgICAgICBjb25zdCBkZXBzID0gcGFja2FnZUpzb24uZGVwZW5kZW5jaWVzIHx8IHt9XG4gICAgICAgICAgY29uc3QgYWxsRGVwcyA9IHsgLi4uZGVwcywgLi4uZGV2RGVwcyB9XG4gICAgICAgICAgY29uc3Qgc2NyaXB0cyA9IHBhY2thZ2VKc29uLnNjcmlwdHMgfHwge31cblxuICAgICAgICAgIC8vIENoZWNrIGRlcGVuZGVuY2llc1xuICAgICAgICAgIGZvciAoY29uc3QgZGVwIG9mIFJFUVVJUkVEX0RFUEVOREVOQ0lFUykge1xuICAgICAgICAgICAgaWYgKCFhbGxEZXBzW2RlcF0pIHtcbiAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZUlkOiAnbWlzc2luZ0RlcGVuZGVuY3knLFxuICAgICAgICAgICAgICAgIGRhdGE6IHsgZGVwIH0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gQ2hlY2sgc2NyaXB0c1xuICAgICAgICAgIGZvciAoY29uc3QgW3NjcmlwdE5hbWUsIHsgY29udGFpbnMsIGRlZmluaXRpb24gfV0gb2YgT2JqZWN0LmVudHJpZXMoUkVRVUlSRURfU0NSSVBUUykpIHtcbiAgICAgICAgICAgIGlmICghc2NyaXB0c1tzY3JpcHROYW1lXSkge1xuICAgICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlSWQ6ICdtaXNzaW5nU2NyaXB0JyxcbiAgICAgICAgICAgICAgICBkYXRhOiB7IHNjcmlwdDogc2NyaXB0TmFtZSwgZGVmaW5pdGlvbiB9LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIGlmICghc2NyaXB0c1tzY3JpcHROYW1lXS5pbmNsdWRlcyhjb250YWlucykpIHtcbiAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZUlkOiAnaW52YWxpZFNjcmlwdCcsXG4gICAgICAgICAgICAgICAgZGF0YTogeyBzY3JpcHQ6IHNjcmlwdE5hbWUsIGV4cGVjdGVkOiBjb250YWlucywgZGVmaW5pdGlvbiB9LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gSWdub3JlIHBhcnNlIGVycm9yc1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH1cbiAgfSxcbn1cblxuLy8gUmVzZXQgdGhlIGZsYWcgd2hlbiB0aGUgbW9kdWxlIGlzIHJlbG9hZGVkIChmb3Igd2F0Y2ggbW9kZSlcbmV4cG9ydCBmdW5jdGlvbiByZXNldFJlcG9ydGVkKCkge1xuICBoYXNSZXBvcnRlZCA9IGZhbHNlXG59XG5cbmV4cG9ydCBkZWZhdWx0IHJ1bGVcbiJdfQ==
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZS1jYW5vbi1zZXR1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lc2xpbnQvcnVsZXMvcmVxdWlyZS1jYW5vbi1zZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQTtBQUN4QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWhFLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFBO0FBQ3ZDLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUUxQyxvREFBb0Q7QUFDcEQsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFBO0FBRXZCLDRCQUE0QjtBQUM1QixNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBTSxFQUFFLHdCQUF3QixDQUFDLENBQUE7QUFFaEUsdUhBQXVIO0FBQ3ZILE1BQU0sZ0JBQWdCLEdBQTZEO0lBQ2pGLE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFVBQVUsRUFBRSxrQkFBa0I7S0FDL0I7SUFDRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUUsU0FBUztRQUNuQixVQUFVLEVBQUUseURBQXlEO0tBQ3RFO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLFFBQVE7UUFDbEIsVUFBVSxFQUFFLHVCQUF1QjtLQUNwQztJQUNELGFBQWEsRUFBRTtRQUNiLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsVUFBVSxFQUFFLHVLQUF1SztLQUNwTDtJQUNELEVBQUUsRUFBRTtRQUNGLFFBQVEsRUFBRSxLQUFLO1FBQ2YsVUFBVSxFQUFFLHNCQUFzQjtLQUNuQztJQUNELEtBQUssRUFBRTtRQUNMLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLFVBQVUsRUFBRSx5QkFBeUI7S0FDdEM7SUFDRCxjQUFjLEVBQUU7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QUM7b0JBQ0gsQ0FBQztvQkFFRCxnQkFBZ0I7b0JBQ2hCLEtBQUssTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO3dCQUN0RixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7NEJBQ3pCLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0NBQ2IsSUFBSTtnQ0FDSixTQUFTLEVBQUUsZUFBZTtnQ0FDMUIsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7NkJBQ3pDLENBQUMsQ0FBQTt3QkFDSixDQUFDOzZCQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7NEJBQ25ELE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0NBQ2IsSUFBSTtnQ0FDSixTQUFTLEVBQUUsZUFBZTtnQ0FDMUIsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTs2QkFDN0QsQ0FBQyxDQUFBO3dCQUNKLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUFDLE1BQU0sQ0FBQztvQkFDUCxzQkFBc0I7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFBO0FBRUQsOERBQThEO0FBQzlELE1BQU0sVUFBVSxhQUFhO0lBQzNCLFdBQVcsR0FBRyxLQUFLLENBQUE7QUFDckIsQ0FBQztBQUVELGVBQWUsSUFBSSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSAnZXNsaW50J1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgeyBnZXRDYW5vblVybCwgZ2V0Q2Fub25QYXR0ZXJuIH0gZnJvbSAnLi4vdXRpbHMvY2Fub24uanMnXG5cbmNvbnN0IFJVTEVfTkFNRSA9ICdyZXF1aXJlLWNhbm9uLXNldHVwJ1xuY29uc3QgcGF0dGVybiA9IGdldENhbm9uUGF0dGVybihSVUxFX05BTUUpXG5cbi8vIFRyYWNrIGlmIHdlJ3ZlIGFscmVhZHkgcmVwb3J0ZWQgZm9yIHRoaXMgbGludCBydW5cbmxldCBoYXNSZXBvcnRlZCA9IGZhbHNlXG5cbi8vIFJlcXVpcmVkIGRldiBkZXBlbmRlbmNpZXNcbmNvbnN0IFJFUVVJUkVEX0RFUEVOREVOQ0lFUyA9IFsna25pcCcsICdAZ2FsbG9wLnNvZnR3YXJlL2Nhbm9uJ11cblxuLy8gUmVxdWlyZWQgbnBtIHNjcmlwdHMgKGtleSA9IHNjcmlwdCBuYW1lLCB2YWx1ZSA9IHsgY29udGFpbnM6IHN0cmluZyB0byBjaGVjayBmb3IsIGRlZmluaXRpb246IGV4YWN0IHNjcmlwdCB0byBhZGQgfSlcbmNvbnN0IFJFUVVJUkVEX1NDUklQVFM6IFJlY29yZDxzdHJpbmcsIHsgY29udGFpbnM6IHN0cmluZzsgZGVmaW5pdGlvbjogc3RyaW5nIH0+ID0ge1xuICB1bnVzZWQ6IHtcbiAgICBjb250YWluczogJ2tuaXAnLFxuICAgIGRlZmluaXRpb246ICdcInVudXNlZFwiOiBcImtuaXBcIicsXG4gIH0sXG4gIGNoZWNrOiB7XG4gICAgY29udGFpbnM6ICducG0gcnVuJyxcbiAgICBkZWZpbml0aW9uOiAnXCJjaGVja1wiOiBcIm5wbSBydW4gbGludCAmJiBucG0gcnVuIHRzICYmIG5wbSBydW4gdW51c2VkXCInLFxuICB9LFxuICBsaW50OiB7XG4gICAgY29udGFpbnM6ICdlc2xpbnQnLFxuICAgIGRlZmluaXRpb246ICdcImxpbnRcIjogXCJlc2xpbnQgc3JjL1wiJyxcbiAgfSxcbiAgJ2xpbnQ6Z2FsbG9wJzoge1xuICAgIGNvbnRhaW5zOiAnZXNsaW50IHNyYy9ibG9ja3MvJyxcbiAgICBkZWZpbml0aW9uOiBgXCJsaW50OmdhbGxvcFwiOiBcImVzbGludCBzcmMvYmxvY2tzLyAtLXJ1bGUgJ2dhbGxvcC9uby1jbGllbnQtYmxvY2tzOiB3YXJuJyAtLXJ1bGUgJ2dhbGxvcC9uby1jb250YWluZXItaW4tc2VjdGlvbjogd2FybicgLS1ydWxlICdnYWxsb3AvcHJlZmVyLWNvbXBvbmVudC1wcm9wczogd2FybidcImAsXG4gIH0sXG4gIHRzOiB7XG4gICAgY29udGFpbnM6ICd0c2MnLFxuICAgIGRlZmluaXRpb246ICdcInRzXCI6IFwidHNjIC0tbm9FbWl0XCInLFxuICB9LFxuICBhdWRpdDoge1xuICAgIGNvbnRhaW5zOiAnZ2FsbG9wIGF1ZGl0JyxcbiAgICBkZWZpbml0aW9uOiAnXCJhdWRpdFwiOiBcImdhbGxvcCBhdWRpdFwiJyxcbiAgfSxcbiAgJ2F1ZGl0OnN0cmljdCc6IHtcbiAgICBjb250YWluczogJ2dhbGxvcCBhdWRpdCcsXG4gICAgZGVmaW5pdGlvbjogJ1wiYXVkaXQ6c3RyaWN0XCI6IFwiZ2FsbG9wIGF1ZGl0IC0tc3RyaWN0XCInLFxuICB9LFxuICAnYXVkaXQ6anNvbic6IHtcbiAgICBjb250YWluczogJ2dhbGxvcCBhdWRpdCcsXG4gICAgZGVmaW5pdGlvbjogJ1wiYXVkaXQ6anNvblwiOiBcImdhbGxvcCBhdWRpdCAtLWpzb25cIicsXG4gIH0sXG4gICdnZW5lcmF0ZTphaS1ydWxlcyc6IHtcbiAgICBjb250YWluczogJ2dhbGxvcCBnZW5lcmF0ZScsXG4gICAgZGVmaW5pdGlvbjogJ1wiZ2VuZXJhdGU6YWktcnVsZXNcIjogXCJnYWxsb3AgZ2VuZXJhdGUgLmN1cnNvcnJ1bGVzICYmIGdhbGxvcCBnZW5lcmF0ZSAuZ2l0aHViL2NvcGlsb3QtaW5zdHJ1Y3Rpb25zLm1kXCInLFxuICB9LFxuICAndXBkYXRlOmNhbm9uJzoge1xuICAgIGNvbnRhaW5zOiAnQGdhbGxvcC5zb2Z0d2FyZS9jYW5vbicsXG4gICAgZGVmaW5pdGlvbjogJ1widXBkYXRlOmNhbm9uXCI6IFwibnBtIHVwZGF0ZSBAZ2FsbG9wLnNvZnR3YXJlL2Nhbm9uXCInLFxuICB9LFxufVxuXG5jb25zdCBydWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246IHBhdHRlcm4/LnN1bW1hcnkgfHwgJ1JlcXVpcmUgQ2Fub24gc2V0dXAgaW4gcGFja2FnZS5qc29uJyxcbiAgICAgIHJlY29tbWVuZGVkOiB0cnVlLFxuICAgICAgdXJsOiBnZXRDYW5vblVybChSVUxFX05BTUUpLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIG1pc3NpbmdEZXBlbmRlbmN5OiBgW0Nhbm9uXSBNaXNzaW5nIHJlcXVpcmVkIGRlcGVuZGVuY3k6IFwie3tkZXB9fVwiLiBSdW46IG5wbSBpbnN0YWxsIC1EIHt7ZGVwfX1gLFxuICAgICAgbWlzc2luZ1NjcmlwdDogYFtDYW5vbl0gTWlzc2luZyByZXF1aXJlZCBucG0gc2NyaXB0IFwie3tzY3JpcHR9fVwiLiBBZGQgdG8gcGFja2FnZS5qc29uIHNjcmlwdHM6IHt7ZGVmaW5pdGlvbn19YCxcbiAgICAgIGludmFsaWRTY3JpcHQ6IGBbQ2Fub25dIFNjcmlwdCBcInt7c2NyaXB0fX1cIiBzaG91bGQgY29udGFpbiBcInt7ZXhwZWN0ZWR9fVwiLiBFeHBlY3RlZDoge3tkZWZpbml0aW9ufX1gLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgfSxcblxuICBjcmVhdGUoY29udGV4dCkge1xuICAgIC8vIE9ubHkgY2hlY2sgb25jZSBwZXIgbGludCBydW4sIG9uIHRoZSBmaXJzdCBmaWxlXG4gICAgaWYgKGhhc1JlcG9ydGVkKSB7XG4gICAgICByZXR1cm4ge31cbiAgICB9XG5cbiAgICAvLyBGaW5kIHRoZSBwcm9qZWN0IHJvb3QgKHdoZXJlIHBhY2thZ2UuanNvbiBpcylcbiAgICBjb25zdCBmaWxlbmFtZSA9IGNvbnRleHQuZmlsZW5hbWUgfHwgY29udGV4dC5nZXRGaWxlbmFtZSgpXG4gICAgbGV0IGRpciA9IHBhdGguZGlybmFtZShmaWxlbmFtZSlcbiAgICBsZXQgcGFja2FnZUpzb25QYXRoID0gJydcbiAgICBcbiAgICAvLyBXYWxrIHVwIHRvIGZpbmQgcGFja2FnZS5qc29uXG4gICAgd2hpbGUgKGRpciAhPT0gcGF0aC5kaXJuYW1lKGRpcikpIHtcbiAgICAgIGNvbnN0IGNhbmRpZGF0ZSA9IHBhdGguam9pbihkaXIsICdwYWNrYWdlLmpzb24nKVxuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoY2FuZGlkYXRlKSkge1xuICAgICAgICBwYWNrYWdlSnNvblBhdGggPSBjYW5kaWRhdGVcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGRpciA9IHBhdGguZGlybmFtZShkaXIpXG4gICAgfVxuXG4gICAgaWYgKCFwYWNrYWdlSnNvblBhdGgpIHtcbiAgICAgIHJldHVybiB7fVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBQcm9ncmFtKG5vZGUpIHtcbiAgICAgICAgaWYgKGhhc1JlcG9ydGVkKSByZXR1cm5cbiAgICAgICAgaGFzUmVwb3J0ZWQgPSB0cnVlXG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYWNrYWdlSnNvbiA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhY2thZ2VKc29uUGF0aCwgJ3V0ZjgnKSlcbiAgICAgICAgICBjb25zdCBkZXZEZXBzID0gcGFja2FnZUpzb24uZGV2RGVwZW5kZW5jaWVzIHx8IHt9XG4gICAgICAgICAgY29uc3QgZGVwcyA9IHBhY2thZ2VKc29uLmRlcGVuZGVuY2llcyB8fCB7fVxuICAgICAgICAgIGNvbnN0IGFsbERlcHMgPSB7IC4uLmRlcHMsIC4uLmRldkRlcHMgfVxuICAgICAgICAgIGNvbnN0IHNjcmlwdHMgPSBwYWNrYWdlSnNvbi5zY3JpcHRzIHx8IHt9XG5cbiAgICAgICAgICAvLyBDaGVjayBkZXBlbmRlbmNpZXNcbiAgICAgICAgICBmb3IgKGNvbnN0IGRlcCBvZiBSRVFVSVJFRF9ERVBFTkRFTkNJRVMpIHtcbiAgICAgICAgICAgIGlmICghYWxsRGVwc1tkZXBdKSB7XG4gICAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2VJZDogJ21pc3NpbmdEZXBlbmRlbmN5JyxcbiAgICAgICAgICAgICAgICBkYXRhOiB7IGRlcCB9LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIENoZWNrIHNjcmlwdHNcbiAgICAgICAgICBmb3IgKGNvbnN0IFtzY3JpcHROYW1lLCB7IGNvbnRhaW5zLCBkZWZpbml0aW9uIH1dIG9mIE9iamVjdC5lbnRyaWVzKFJFUVVJUkVEX1NDUklQVFMpKSB7XG4gICAgICAgICAgICBpZiAoIXNjcmlwdHNbc2NyaXB0TmFtZV0pIHtcbiAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZUlkOiAnbWlzc2luZ1NjcmlwdCcsXG4gICAgICAgICAgICAgICAgZGF0YTogeyBzY3JpcHQ6IHNjcmlwdE5hbWUsIGRlZmluaXRpb24gfSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXNjcmlwdHNbc2NyaXB0TmFtZV0uaW5jbHVkZXMoY29udGFpbnMpKSB7XG4gICAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2VJZDogJ2ludmFsaWRTY3JpcHQnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHsgc2NyaXB0OiBzY3JpcHROYW1lLCBleHBlY3RlZDogY29udGFpbnMsIGRlZmluaXRpb24gfSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIC8vIElnbm9yZSBwYXJzZSBlcnJvcnNcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG59XG5cbi8vIFJlc2V0IHRoZSBmbGFnIHdoZW4gdGhlIG1vZHVsZSBpcyByZWxvYWRlZCAoZm9yIHdhdGNoIG1vZGUpXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRSZXBvcnRlZCgpIHtcbiAgaGFzUmVwb3J0ZWQgPSBmYWxzZVxufVxuXG5leHBvcnQgZGVmYXVsdCBydWxlXG4iXX0=
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -99,4 +99,4 @@ export default {
|
|
|
99
99
|
isValidPattern,
|
|
100
100
|
getEnforcementStats,
|
|
101
101
|
};
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQTtBQWlEekQseUJBQXlCO0FBQ3pCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBZ0IsTUFBcUIsQ0FBQTtBQUV2RCxpQkFBaUI7QUFDakIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUE7QUFFckMsd0JBQXdCO0FBQ3hCLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBYyxNQUFNLENBQUMsUUFBcUIsQ0FBQTtBQUUvRCwwQkFBMEI7QUFDMUIsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUE7QUFFdkQsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBZ0IsTUFBTSxDQUFDLFVBQXlCLENBQUE7QUFFdkU7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsRUFBVTtJQUNuQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7QUFDMUMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsUUFBeUI7SUFDN0QsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFBO0FBQ3hELENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQTtBQUMzRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFZO0lBQzVDLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQTtBQUNoRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsRUFBVTtJQUNyQyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7QUFDNUMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsV0FBbUI7SUFDekQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQzNDLElBQUksQ0FBQyxTQUFTO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFDekIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUNsRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsRUFBVTtJQUN2QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7QUFDMUMsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsTUFBTSxLQUFLLEdBQTJCLEVBQUUsQ0FBQTtJQUN4QyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNwRSxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsaUJBQWlCO0FBQ2pCLGVBQWU7SUFDYixPQUFPO0lBQ1AsUUFBUTtJQUNSLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsY0FBYztJQUNkLG1CQUFtQjtDQUNwQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZ2FsbG9wL2Nhbm9uXG4gKlxuICogR2FsbG9wIENhbm9uXG4gKiBWZXJzaW9uZWQsIEFJLWNvbXBhdGlibGUsIGF1ZGl0YWJsZSB3ZWIgYXJjaGl0ZWN0dXJlIHBhdHRlcm5zXG4gKi9cblxuaW1wb3J0IHNjaGVtYSBmcm9tICcuLi9zY2hlbWEuanNvbicgd2l0aCB7IHR5cGU6ICdqc29uJyB9XG5cbi8vIFRlbXBsYXRlIGNvbmZpZyB0eXBlXG5leHBvcnQgdHlwZSB7IENhbm9uVGVtcGxhdGVDb25maWcgfSBmcm9tICcuL3R5cGVzL2NvbmZpZy5qcydcblxuLy8gVHlwZXNcbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVybiB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBmaWxlOiBzdHJpbmdcbiAgY2F0ZWdvcnk6IFBhdHRlcm5DYXRlZ29yeVxuICBzdGF0dXM6ICdzdGFibGUnIHwgJ3Byb3Bvc2VkJyB8ICdkZXByZWNhdGVkJ1xuICBlbmZvcmNlbWVudDogJ2VzbGludCcgfCAnZG9jdW1lbnRhdGlvbicgfCAnY2knXG4gIHJ1bGU6IHN0cmluZyB8IG51bGxcbiAgc3VtbWFyeTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2F0ZWdvcnkge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmFudGVlIHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgc2luY2U6IHN0cmluZ1xuICBzdGF0dXM6ICdzdGFibGUnIHwgJ3Byb3Bvc2VkJyB8ICdkZXByZWNhdGVkJ1xuICBwYXR0ZXJuczogc3RyaW5nW11cbn1cblxuZXhwb3J0IHR5cGUgUGF0dGVybkNhdGVnb3J5ID1cbiAgfCAncmVuZGVyaW5nJ1xuICB8ICdsYXlvdXQnXG4gIHwgJ3R5cG9ncmFwaHknXG4gIHwgJ3N0cnVjdHVyZSdcbiAgfCAnc3R5bGluZydcbiAgfCAnY29tcG9uZW50cydcbiAgfCAnc2VvJ1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbm9uU2NoZW1hIHtcbiAgbmFtZTogc3RyaW5nXG4gIHZlcnNpb246IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIGNhdGVnb3JpZXM6IENhdGVnb3J5W11cbiAgcGF0dGVybnM6IFBhdHRlcm5bXVxuICBndWFyYW50ZWVzOiBHdWFyYW50ZWVbXVxufVxuXG4vLyBFeHBvcnQgdGhlIGZ1bGwgc2NoZW1hXG5leHBvcnQgY29uc3QgY2Fub246IENhbm9uU2NoZW1hID0gc2NoZW1hIGFzIENhbm9uU2NoZW1hXG5cbi8vIEV4cG9ydCB2ZXJzaW9uXG5leHBvcnQgY29uc3QgdmVyc2lvbiA9IHNjaGVtYS52ZXJzaW9uXG5cbi8vIEV4cG9ydCBwYXR0ZXJucyBhcnJheVxuZXhwb3J0IGNvbnN0IHBhdHRlcm5zOiBQYXR0ZXJuW10gPSBzY2hlbWEucGF0dGVybnMgYXMgUGF0dGVybltdXG5cbi8vIEV4cG9ydCBjYXRlZ29yaWVzIGFycmF5XG5leHBvcnQgY29uc3QgY2F0ZWdvcmllczogQ2F0ZWdvcnlbXSA9IHNjaGVtYS5jYXRlZ29yaWVzXG5cbi8vIEV4cG9ydCBndWFyYW50ZWVzIGFycmF5XG5leHBvcnQgY29uc3QgZ3VhcmFudGVlczogR3VhcmFudGVlW10gPSBzY2hlbWEuZ3VhcmFudGVlcyBhcyBHdWFyYW50ZWVbXVxuXG4vKipcbiAqIEdldCBhIHBhdHRlcm4gYnkgSURcbiAqIEBwYXJhbSBpZCAtIFBhdHRlcm4gSUQgKGUuZy4sIFwiMDAxXCIsIFwiMDAyXCIpXG4gKiBAcmV0dXJucyBQYXR0ZXJuIG9iamVjdCBvciB1bmRlZmluZWQgaWYgbm90IGZvdW5kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXR0ZXJuKGlkOiBzdHJpbmcpOiBQYXR0ZXJuIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHBhdHRlcm5zLmZpbmQoKHApID0+IHAuaWQgPT09IGlkKVxufVxuXG4vKipcbiAqIEdldCBhbGwgcGF0dGVybnMgaW4gYSBjYXRlZ29yeVxuICogQHBhcmFtIGNhdGVnb3J5IC0gQ2F0ZWdvcnkgSUQgKGUuZy4sIFwicmVuZGVyaW5nXCIsIFwidHlwb2dyYXBoeVwiKVxuICogQHJldHVybnMgQXJyYXkgb2YgcGF0dGVybnMgaW4gdGhhdCBjYXRlZ29yeVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGF0dGVybnNCeUNhdGVnb3J5KGNhdGVnb3J5OiBQYXR0ZXJuQ2F0ZWdvcnkpOiBQYXR0ZXJuW10ge1xuICByZXR1cm4gcGF0dGVybnMuZmlsdGVyKChwKSA9PiBwLmNhdGVnb3J5ID09PSBjYXRlZ29yeSlcbn1cblxuLyoqXG4gKiBHZXQgYWxsIHBhdHRlcm5zIGVuZm9yY2VkIGJ5IEVTTGludFxuICogQHJldHVybnMgQXJyYXkgb2YgRVNMaW50LWVuZm9yY2VkIHBhdHRlcm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbmZvcmNlZFBhdHRlcm5zKCk6IFBhdHRlcm5bXSB7XG4gIHJldHVybiBwYXR0ZXJucy5maWx0ZXIoKHApID0+IHAuZW5mb3JjZW1lbnQgPT09ICdlc2xpbnQnKVxufVxuXG4vKipcbiAqIEdldCBhbGwgcGF0dGVybnMgd2l0aCBhIHNwZWNpZmljIEVTTGludCBydWxlXG4gKiBAcGFyYW0gcnVsZSAtIEVTTGludCBydWxlIG5hbWUgKGUuZy4sIFwiZ2FsbG9wL25vLWNsaWVudC1ibG9ja3NcIilcbiAqIEByZXR1cm5zIEFycmF5IG9mIHBhdHRlcm5zIHVzaW5nIHRoYXQgcnVsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGF0dGVybnNCeVJ1bGUocnVsZTogc3RyaW5nKTogUGF0dGVybltdIHtcbiAgcmV0dXJuIHBhdHRlcm5zLmZpbHRlcigocCkgPT4gcC5ydWxlID09PSBydWxlKVxufVxuXG4vKipcbiAqIEdldCBhIGd1YXJhbnRlZSBieSBJRFxuICogQHBhcmFtIGlkIC0gR3VhcmFudGVlIElEIChlLmcuLCBcIlNFT19TVEFCTEVcIilcbiAqIEByZXR1cm5zIEd1YXJhbnRlZSBvYmplY3Qgb3IgdW5kZWZpbmVkIGlmIG5vdCBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0R3VhcmFudGVlKGlkOiBzdHJpbmcpOiBHdWFyYW50ZWUgfCB1bmRlZmluZWQge1xuICByZXR1cm4gZ3VhcmFudGVlcy5maW5kKChnKSA9PiBnLmlkID09PSBpZClcbn1cblxuLyoqXG4gKiBHZXQgYWxsIHBhdHRlcm5zIGFzc29jaWF0ZWQgd2l0aCBhIGd1YXJhbnRlZVxuICogQHBhcmFtIGd1YXJhbnRlZUlkIC0gR3VhcmFudGVlIElEIChlLmcuLCBcIlNFT19TVEFCTEVcIilcbiAqIEByZXR1cm5zIEFycmF5IG9mIHBhdHRlcm5zIHRoYXQgc3VwcG9ydCB0aGlzIGd1YXJhbnRlZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGF0dGVybnNGb3JHdWFyYW50ZWUoZ3VhcmFudGVlSWQ6IHN0cmluZyk6IFBhdHRlcm5bXSB7XG4gIGNvbnN0IGd1YXJhbnRlZSA9IGdldEd1YXJhbnRlZShndWFyYW50ZWVJZClcbiAgaWYgKCFndWFyYW50ZWUpIHJldHVybiBbXVxuICByZXR1cm4gcGF0dGVybnMuZmlsdGVyKChwKSA9PiBndWFyYW50ZWUucGF0dGVybnMuaW5jbHVkZXMocC5pZCkpXG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBwYXR0ZXJuIElEIGlzIHZhbGlkXG4gKiBAcGFyYW0gaWQgLSBQYXR0ZXJuIElEIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB0cnVlIGlmIHZhbGlkLCBmYWxzZSBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRQYXR0ZXJuKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHBhdHRlcm5zLnNvbWUoKHApID0+IHAuaWQgPT09IGlkKVxufVxuXG4vKipcbiAqIEdldCBwYXR0ZXJuIGNvdW50IGJ5IGVuZm9yY2VtZW50IHR5cGVcbiAqIEByZXR1cm5zIE9iamVjdCB3aXRoIGNvdW50cyBwZXIgZW5mb3JjZW1lbnQgdHlwZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW5mb3JjZW1lbnRTdGF0cygpOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+IHtcbiAgY29uc3Qgc3RhdHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fVxuICBmb3IgKGNvbnN0IHBhdHRlcm4gb2YgcGF0dGVybnMpIHtcbiAgICBzdGF0c1twYXR0ZXJuLmVuZm9yY2VtZW50XSA9IChzdGF0c1twYXR0ZXJuLmVuZm9yY2VtZW50XSB8fCAwKSArIDFcbiAgfVxuICByZXR1cm4gc3RhdHNcbn1cblxuLy8gRGVmYXVsdCBleHBvcnRcbmV4cG9ydCBkZWZhdWx0IHtcbiAgdmVyc2lvbixcbiAgcGF0dGVybnMsXG4gIGNhdGVnb3JpZXMsXG4gIGd1YXJhbnRlZXMsXG4gIGdldFBhdHRlcm4sXG4gIGdldFBhdHRlcm5zQnlDYXRlZ29yeSxcbiAgZ2V0RW5mb3JjZWRQYXR0ZXJucyxcbiAgZ2V0UGF0dGVybnNCeVJ1bGUsXG4gIGdldEd1YXJhbnRlZSxcbiAgZ2V0UGF0dGVybnNGb3JHdWFyYW50ZWUsXG4gIGlzVmFsaWRQYXR0ZXJuLFxuICBnZXRFbmZvcmNlbWVudFN0YXRzLFxufVxuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface CanonTemplateConfig {
|
|
2
|
+
name: string;
|
|
3
|
+
generatedFiles?: {
|
|
4
|
+
path: string;
|
|
5
|
+
command: string;
|
|
6
|
+
trigger: string;
|
|
7
|
+
}[];
|
|
8
|
+
buildCommands?: {
|
|
9
|
+
script: string;
|
|
10
|
+
description: string;
|
|
11
|
+
}[];
|
|
12
|
+
colorTokens?: {
|
|
13
|
+
surface?: string[];
|
|
14
|
+
text?: string[];
|
|
15
|
+
overlay?: string[];
|
|
16
|
+
accents?: string[];
|
|
17
|
+
allowedRawClasses?: string[];
|
|
18
|
+
};
|
|
19
|
+
components?: {
|
|
20
|
+
name: string;
|
|
21
|
+
props?: string[];
|
|
22
|
+
notes?: string;
|
|
23
|
+
}[];
|
|
24
|
+
state?: {
|
|
25
|
+
library: string;
|
|
26
|
+
file: string;
|
|
27
|
+
readPattern: string;
|
|
28
|
+
writePattern: string;
|
|
29
|
+
properties?: string[];
|
|
30
|
+
};
|
|
31
|
+
rules?: {
|
|
32
|
+
type: 'do' | 'doNot';
|
|
33
|
+
rule: string;
|
|
34
|
+
}[];
|
|
35
|
+
verification?: string[];
|
|
36
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDYW5vblRlbXBsYXRlQ29uZmlnIHtcbiAgbmFtZTogc3RyaW5nXG4gIGdlbmVyYXRlZEZpbGVzPzogeyBwYXRoOiBzdHJpbmc7IGNvbW1hbmQ6IHN0cmluZzsgdHJpZ2dlcjogc3RyaW5nIH1bXVxuICBidWlsZENvbW1hbmRzPzogeyBzY3JpcHQ6IHN0cmluZzsgZGVzY3JpcHRpb246IHN0cmluZyB9W11cbiAgY29sb3JUb2tlbnM/OiB7XG4gICAgc3VyZmFjZT86IHN0cmluZ1tdXG4gICAgdGV4dD86IHN0cmluZ1tdXG4gICAgb3ZlcmxheT86IHN0cmluZ1tdXG4gICAgYWNjZW50cz86IHN0cmluZ1tdXG4gICAgYWxsb3dlZFJhd0NsYXNzZXM/OiBzdHJpbmdbXVxuICB9XG4gIGNvbXBvbmVudHM/OiB7IG5hbWU6IHN0cmluZzsgcHJvcHM/OiBzdHJpbmdbXTsgbm90ZXM/OiBzdHJpbmcgfVtdXG4gIHN0YXRlPzoge1xuICAgIGxpYnJhcnk6IHN0cmluZ1xuICAgIGZpbGU6IHN0cmluZ1xuICAgIHJlYWRQYXR0ZXJuOiBzdHJpbmdcbiAgICB3cml0ZVBhdHRlcm46IHN0cmluZ1xuICAgIHByb3BlcnRpZXM/OiBzdHJpbmdbXVxuICB9XG4gIHJ1bGVzPzogeyB0eXBlOiAnZG8nIHwgJ2RvTm90JzsgcnVsZTogc3RyaW5nIH1bXVxuICB2ZXJpZmljYXRpb24/OiBzdHJpbmdbXVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gallop.software/canon",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.29.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Gallop Canon - Architecture patterns, ESLint plugin, and CLI for template governance",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
"./eslint": {
|
|
14
14
|
"types": "./dist/eslint/index.d.ts",
|
|
15
15
|
"import": "./dist/eslint/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./config": {
|
|
18
|
+
"types": "./dist/types/config.d.ts",
|
|
19
|
+
"import": "./dist/types/config.js"
|
|
16
20
|
}
|
|
17
21
|
},
|
|
18
22
|
"bin": {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
**Canon Version:** 1.0
|
|
4
4
|
**Status:** Stable
|
|
5
5
|
**Category:** Structure
|
|
6
|
-
**Enforcement:**
|
|
6
|
+
**Enforcement:** ESLint (`gallop/prefer-alias-imports`)
|
|
7
7
|
|
|
8
8
|
## Decision
|
|
9
9
|
|
|
@@ -132,8 +132,9 @@ Barrel exports (`src/components/index.ts`) were previously used but removed beca
|
|
|
132
132
|
|
|
133
133
|
## Enforcement
|
|
134
134
|
|
|
135
|
-
- **
|
|
136
|
-
-
|
|
135
|
+
- **ESLint Rule:** `gallop/prefer-alias-imports`
|
|
136
|
+
- Flags relative imports with 2+ `../` segments targeting Canon zones
|
|
137
|
+
- Same-directory `./` imports are allowed
|
|
137
138
|
|
|
138
139
|
## References
|
|
139
140
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
**Canon Version:** 1.0
|
|
4
4
|
**Status:** Stable
|
|
5
5
|
**Category:** Styling
|
|
6
|
-
**Enforcement:**
|
|
6
|
+
**Enforcement:** ESLint (`gallop/no-raw-colors`)
|
|
7
7
|
|
|
8
8
|
## Decision
|
|
9
9
|
|
|
@@ -105,8 +105,9 @@ Raw Tailwind colors are acceptable for:
|
|
|
105
105
|
|
|
106
106
|
## Enforcement
|
|
107
107
|
|
|
108
|
-
- **
|
|
109
|
-
-
|
|
108
|
+
- **ESLint Rule:** `gallop/no-raw-colors`
|
|
109
|
+
- Flags raw Tailwind color classes (e.g. `text-white`, `bg-gray-500`)
|
|
110
|
+
- Accepts `allowedClasses` option for escape hatches (brand colors, etc.)
|
|
110
111
|
|
|
111
112
|
## References
|
|
112
113
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
**Canon Version:** 1.0
|
|
4
4
|
**Status:** Stable
|
|
5
5
|
**Category:** Components
|
|
6
|
-
**Enforcement:**
|
|
6
|
+
**Enforcement:** ESLint (`gallop/no-inline-svg`)
|
|
7
7
|
|
|
8
8
|
## Decision
|
|
9
9
|
|
|
@@ -110,8 +110,9 @@ import { ArrowRight } from 'react-icons/hi'
|
|
|
110
110
|
|
|
111
111
|
## Enforcement
|
|
112
112
|
|
|
113
|
-
- **
|
|
114
|
-
-
|
|
113
|
+
- **ESLint Rule:** `gallop/no-inline-svg`
|
|
114
|
+
- Flags `<svg>` elements in block files
|
|
115
|
+
- Use the Icon component with Iconify icons instead
|
|
115
116
|
|
|
116
117
|
## References
|
|
117
118
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
**Canon Version:** 1.0
|
|
4
4
|
**Status:** Stable
|
|
5
5
|
**Category:** Styling
|
|
6
|
-
**Enforcement:**
|
|
6
|
+
**Enforcement:** ESLint (`gallop/no-classnames-package`)
|
|
7
7
|
|
|
8
8
|
## Decision
|
|
9
9
|
|
|
@@ -119,8 +119,8 @@ The API is identical — just change the import.
|
|
|
119
119
|
|
|
120
120
|
## Enforcement
|
|
121
121
|
|
|
122
|
-
- **
|
|
123
|
-
-
|
|
122
|
+
- **ESLint Rule:** `gallop/no-classnames-package`
|
|
123
|
+
- Flags `import` or `require()` of `classnames`, `classnames/bind`, or `classnames/dedupe`
|
|
124
124
|
|
|
125
125
|
## References
|
|
126
126
|
|
package/schema.json
CHANGED
|
@@ -107,8 +107,8 @@
|
|
|
107
107
|
"file": "patterns/007-import-paths.md",
|
|
108
108
|
"category": "structure",
|
|
109
109
|
"status": "stable",
|
|
110
|
-
"enforcement": "
|
|
111
|
-
"rule":
|
|
110
|
+
"enforcement": "eslint",
|
|
111
|
+
"rule": "gallop/prefer-alias-imports",
|
|
112
112
|
"summary": "@/ aliases, direct file imports"
|
|
113
113
|
},
|
|
114
114
|
{
|
|
@@ -127,8 +127,8 @@
|
|
|
127
127
|
"file": "patterns/009-color-tokens.md",
|
|
128
128
|
"category": "styling",
|
|
129
129
|
"status": "stable",
|
|
130
|
-
"enforcement": "
|
|
131
|
-
"rule":
|
|
130
|
+
"enforcement": "eslint",
|
|
131
|
+
"rule": "gallop/no-raw-colors",
|
|
132
132
|
"summary": "Use semantic color tokens"
|
|
133
133
|
},
|
|
134
134
|
{
|
|
@@ -157,8 +157,8 @@
|
|
|
157
157
|
"file": "patterns/012-icon-system.md",
|
|
158
158
|
"category": "components",
|
|
159
159
|
"status": "stable",
|
|
160
|
-
"enforcement": "
|
|
161
|
-
"rule":
|
|
160
|
+
"enforcement": "eslint",
|
|
161
|
+
"rule": "gallop/no-inline-svg",
|
|
162
162
|
"summary": "Iconify with Icon component"
|
|
163
163
|
},
|
|
164
164
|
{
|
|
@@ -177,8 +177,8 @@
|
|
|
177
177
|
"file": "patterns/014-clsx-not-classnames.md",
|
|
178
178
|
"category": "styling",
|
|
179
179
|
"status": "stable",
|
|
180
|
-
"enforcement": "
|
|
181
|
-
"rule":
|
|
180
|
+
"enforcement": "eslint",
|
|
181
|
+
"rule": "gallop/no-classnames-package",
|
|
182
182
|
"summary": "Use clsx, never classnames package"
|
|
183
183
|
},
|
|
184
184
|
{
|